Files
XCEngine/docs/api/XCEngine/Rendering/SceneRenderer/GetPipelineAsset.md

1.3 KiB
Raw Blame History

SceneRenderer::GetPipelineAsset

返回当前场景渲染器绑定的 pipeline asset。

const RenderPipelineAsset* GetPipelineAsset() const;

返回值

  • 返回内部 m_cameraRenderer.GetPipelineAsset() 的结果。

当前语义

  • 这是一个非拥有观察指针,用来回答“当前 runtime pipeline 是由哪个 asset 工厂派生出来的”。
  • 默认构造的 SceneRenderer 通常会返回默认 builtin forward pipeline asset。
  • 如果最近一次切换是 SetPipeline 且传入了非空 runtime pipeline这里会变成 nullptr,因为那条路径会清掉当前 asset 绑定。
  • 如果 SetPipelineAsset 传入空指针,内部不会保留 nullptr,而是回退到默认 builtin forward asset。

调用方影响

  • 这不是 shared_ptr 的外露别名,不提供所有权,也不保证在 SceneRenderer 生命周期之外继续有效。
  • 对外部来说,它更适合做调试、状态展示或测试断言,而不适合做长期缓存键。

测试覆盖

  • tests/Rendering/unit/test_camera_scene_renderer.cpp 覆盖了默认 asset、替换 asset以及替换 runtime pipeline 后 asset 观察值的变化。

相关文档