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

34 lines
1.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# SceneRenderer::GetPipelineAsset
返回当前场景渲染器绑定的 pipeline asset。
```cpp
const RenderPipelineAsset* GetPipelineAsset() const;
```
## 返回值
- 返回内部 `m_cameraRenderer.GetPipelineAsset()` 的结果。
## 当前语义
- 这是一个非拥有观察指针,用来回答“当前 runtime pipeline 是由哪个 asset 工厂派生出来的”。
- 默认构造的 `SceneRenderer` 通常会返回默认 builtin forward pipeline asset。
- 如果最近一次切换是 [SetPipeline](SetPipeline.md) 且传入了非空 runtime pipeline这里会变成 `nullptr`,因为那条路径会清掉当前 asset 绑定。
- 如果 [SetPipelineAsset](SetPipelineAsset.md) 传入空指针,内部不会保留 `nullptr`,而是回退到默认 builtin forward asset。
## 调用方影响
- 这不是 `shared_ptr` 的外露别名,不提供所有权,也不保证在 `SceneRenderer` 生命周期之外继续有效。
- 对外部来说,它更适合做调试、状态展示或测试断言,而不适合做长期缓存键。
## 测试覆盖
- `tests/Rendering/unit/test_camera_scene_renderer.cpp` 覆盖了默认 asset、替换 asset以及替换 runtime pipeline 后 asset 观察值的变化。
## 相关文档
- [SceneRenderer](SceneRenderer.md)
- [SetPipelineAsset](SetPipelineAsset.md)
- [GetPipeline](GetPipeline.md)