[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

@@ -11,17 +11,36 @@ namespace hgl::graph
/**
* 渲染器
* 管理相对的所有的渲染资源,包括场景、相机、渲染目标、渲染任务等
*/
class Renderer
{
IRenderTarget *render_target;
SceneWorld *world;
RenderTaskNameMap static_render_task_list; ///<静态渲染任务列表
RenderTaskNameMap dynamic_render_task_list; ///<动态渲染任务列表
Camera *camera;
//RenderTaskNameMap static_render_task_list; ///<静态渲染任务列表
//RenderTaskNameMap dynamic_render_task_list; ///<动态渲染任务列表
RenderTask *render_task; ///<当前渲染任务
protected:
public:
SceneWorld *GetSceneWorld () const { return world; } ///<获取场景世界
Camera * GetCurCamera () const { return camera; } ///<获取当前相机
public:
Renderer(IRenderTarget *);
virtual ~Renderer();
void SetCurWorld(SceneWorld *);
void SetCurCamera(Camera *);
bool RenderFrame(RenderCmdBuffer *);
};//class Renderer
}//namespace hgl::graph