1.9 KiB
1.9 KiB
SceneRenderer
命名空间: XCEngine::Rendering
类型: class
头文件: XCEngine/Rendering/SceneRenderer.h
描述: 组织一帧场景渲染流程,负责 scene extraction,并把结果交给当前 RenderPipeline。
概述
SceneRenderer 是当前渲染模块的主入口。它把“提取场景数据”和“执行具体渲染”两步串起来:
- 内部持有一个 RenderSceneExtractor
- 内部持有一个当前使用的 RenderPipeline
默认情况下,它会创建 BuiltinForwardPipeline。
当前实现边界
- 默认构造会直接创建
BuiltinForwardPipeline。 - 传入空 pipeline 时,构造函数和 SetPipeline 都会退回到
BuiltinForwardPipeline。 - 析构时如果持有 pipeline,会调用其
Shutdown()。 - Render 当前只在运行时触发 pipeline 的
Render(),并不会显式先调用Initialize();默认前向管线靠内部EnsureInitialized()自己兜底。
公开方法
| 方法 | 说明 |
|---|---|
| Constructor | 构造场景渲染器。 |
| Destructor | 析构时关闭当前管线。 |
| SetPipeline | 替换当前渲染管线。 |
| GetPipeline | 获取当前管线指针。 |
| Render | 渲染一个场景。 |
设计说明
把 SceneRenderer 保持得足够薄,是一个正确方向。真正复杂的渲染逻辑应该沉到 pipeline,而不是让 renderer 主入口变成一坨硬编码流程。