[WIP] Renderer/RenderTask

This commit is contained in:
2025-05-30 00:32:45 +08:00
parent 8f1b891f9e
commit 5c186fdb95
6 changed files with 172 additions and 44 deletions

View File

@@ -20,8 +20,8 @@ namespace hgl::graph
{
RenderTaskName task_name;
RenderList * render_list;
IRenderTarget * render_target;
RenderList * render_list;
Camera * camera;
public:
@@ -34,32 +34,16 @@ namespace hgl::graph
public:
RenderTask(const RenderTaskName &tn)
{
task_name=tn;
render_list=nullptr;
render_target=nullptr;
camera=nullptr;
}
RenderTask(const RenderTaskName &tn,RenderList *rl,IRenderTarget *rt=nullptr,Camera *c=nullptr)
{
task_name=tn;
render_list=rl;
render_target=rt;
camera=c;
}
RenderTask(const RenderTaskName &tn,IRenderTarget *rt=nullptr,Camera *c=nullptr);
virtual ~RenderTask();
void Set(IRenderTarget *rt){render_target=rt;}
bool Set(IRenderTarget *rt);
void Set(Camera *c){camera=c;}
void Restart(); ///<复位数据,清空渲染列表
void MakeRenderList(SceneNode *);
bool RebuildRenderList(SceneNode *);
bool IsEmpty()const; ///<是否是空的,不可渲染或是没啥可渲染的