Added GraphModule.cpp/.h
This commit is contained in:
50
inc/hgl/graph/module/GraphModule.h
Normal file
50
inc/hgl/graph/module/GraphModule.h
Normal file
@@ -0,0 +1,50 @@
|
||||
#pragma once
|
||||
|
||||
#include<hgl/graph/VK.h>
|
||||
|
||||
VK_NAMESPACE_BEGIN
|
||||
|
||||
class RenderCmdBuffer;
|
||||
|
||||
class GraphModule
|
||||
{
|
||||
AnsiString module_name;
|
||||
|
||||
bool module_enable;
|
||||
bool module_ready;
|
||||
|
||||
protected:
|
||||
|
||||
virtual void SetModuleEnable(bool e){module_enable=e;}
|
||||
virtual void SetModuleReady(bool r){module_ready=r;}
|
||||
|
||||
public:
|
||||
|
||||
const AnsiString &GetModuleName()const{return module_name;}
|
||||
|
||||
const bool IsEnable ()const noexcept{return module_enable;}
|
||||
const bool IsReady ()const noexcept{return module_ready;}
|
||||
|
||||
public:
|
||||
|
||||
NO_COPY_NO_MOVE(GraphModule)
|
||||
|
||||
GraphModule(const AnsiString &name){module_name=name;}
|
||||
virtual ~GraphModule()=default;
|
||||
|
||||
virtual bool Init(){return true;}
|
||||
virtual void Execute(const double,RenderCmdBuffer *){}
|
||||
|
||||
};//class GraphModule
|
||||
|
||||
template<typename T> GraphModule *Create()
|
||||
{
|
||||
return new T();
|
||||
}
|
||||
|
||||
typedef GraphModule *(*GraphModuleCreateFunc)();
|
||||
|
||||
bool RegistryGraphModule(const AnsiString &,GraphModuleCreateFunc);
|
||||
GraphModule *GetGraphModule(const AnsiString &);
|
||||
|
||||
VK_NAMESPACE_END
|
32
inc/hgl/graph/module/RenderModule.h
Normal file
32
inc/hgl/graph/module/RenderModule.h
Normal file
@@ -0,0 +1,32 @@
|
||||
#pragma once
|
||||
|
||||
#include<hgl/graph/module/GraphModule.h>
|
||||
#include<hgl/type/Size2.h>
|
||||
|
||||
VK_NAMESPACE_BEGIN
|
||||
|
||||
/**
|
||||
* 渲染模块基类
|
||||
*/
|
||||
class RenderModule:public GraphModule
|
||||
{
|
||||
VkExtent2D current_extent;
|
||||
|
||||
public:
|
||||
|
||||
NO_COPY_NO_MOVE(RenderModule)
|
||||
|
||||
RenderModule(const AnsiString &name):GraphModule(name){}
|
||||
virtual ~RenderModule()=default;
|
||||
|
||||
virtual bool Init()override{return true;}
|
||||
|
||||
virtual void Execute(const double,RenderCmdBuffer *)override{}
|
||||
|
||||
virtual void OnResize(const VkExtent2D &ext){current_extent=ext;}
|
||||
virtual void OnFocusLost(){}
|
||||
|
||||
virtual void OnPreFrame(){}
|
||||
virtual void OnPostFrame(){}
|
||||
};//class RenderModule
|
||||
|
Reference in New Issue
Block a user