2024-10-22 01:51:25 +08:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include<hgl/graph/module/GraphModule.h>
|
|
|
|
#include<hgl/type/Size2.h>
|
|
|
|
|
|
|
|
VK_NAMESPACE_BEGIN
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 渲染模块基类
|
|
|
|
*/
|
|
|
|
class RenderModule:public GraphModule
|
|
|
|
{
|
|
|
|
VkExtent2D current_extent;
|
2024-10-23 01:13:15 +08:00
|
|
|
|
|
|
|
public:
|
2024-10-23 02:09:01 +08:00
|
|
|
|
2024-11-19 00:20:35 +08:00
|
|
|
const bool IsPerFrame ()const noexcept{return true;} ///<每帧运行
|
|
|
|
const bool IsRender ()const noexcept{return true;} ///<渲染模块
|
2024-10-22 01:51:25 +08:00
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
NO_COPY_NO_MOVE(RenderModule)
|
|
|
|
|
2024-10-23 02:09:01 +08:00
|
|
|
using GraphModule::GraphModule;
|
2024-10-22 01:51:25 +08:00
|
|
|
virtual ~RenderModule()=default;
|
|
|
|
|
2024-10-23 01:13:15 +08:00
|
|
|
virtual void OnResize(const VkExtent2D &ext)override{current_extent=ext;}
|
2024-11-14 00:24:13 +08:00
|
|
|
|
2024-11-19 00:20:35 +08:00
|
|
|
virtual void OnFrameRender(const double,RenderCmdBuffer *)=0; ///<帧绘制回调
|
2024-10-22 01:51:25 +08:00
|
|
|
};//class RenderModule
|
2024-10-23 02:09:01 +08:00
|
|
|
|
|
|
|
VK_NAMESPACE_END
|