1.2 KiB
1.2 KiB
SceneRenderer::GetPipeline
返回当前场景渲染器正在使用的 runtime pipeline。
RenderPipeline* GetPipeline() const;
返回值
- 返回内部
m_cameraRenderer.GetPipeline()的结果。
当前语义
- 这是一个非拥有裸指针,只用于观察当前绑定的是哪一个
RenderPipeline实例。 - 该指针可能指向:
- 手动注入的 runtime pipeline。
- 由当前 pipeline asset 创建出的 runtime pipeline。
- 在空指针回退路径中自动补出的默认 builtin forward pipeline。
- 调用 SetPipeline 或 SetPipelineAsset 后,这个指针都可能变化。
调用方影响
- 不应跨生命周期长期缓存这个指针;
SceneRenderer销毁、替换 pipeline 或回退默认 pipeline 后,它都可能失效。 - 它也不是“可由外部 delete 的所有权句柄”;真正的持有者仍是内部
CameraRenderer。
测试覆盖
tests/Rendering/unit/test_camera_scene_renderer.cpp覆盖了替换 pipeline 前后GetPipeline()返回值的变化,以及旧 pipeline 被Shutdown()的行为。