2026-04-10 16:55:33 +08:00
|
|
|
# CameraRenderer::SetPipelineAsset
|
2026-04-10 00:42:53 +08:00
|
|
|
|
|
|
|
|
**命名空间**: `XCEngine::Rendering`
|
|
|
|
|
|
|
|
|
|
**类型**: `method`
|
|
|
|
|
|
|
|
|
|
**头文件**: `XCEngine/Rendering/Execution/CameraRenderer.h`
|
|
|
|
|
|
|
|
|
|
## 签名
|
|
|
|
|
|
|
|
|
|
```cpp
|
|
|
|
|
void SetPipelineAsset(std::shared_ptr<const RenderPipelineAsset> pipelineAsset);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 作用
|
|
|
|
|
|
|
|
|
|
通过一份 `RenderPipelineAsset` 重建当前主管线实例。
|
|
|
|
|
|
|
|
|
|
## 当前实现行为
|
|
|
|
|
|
|
|
|
|
1. 如果传入的 `pipelineAsset` 非空,则保存它。
|
|
|
|
|
2. 如果传入为空,则回退到内部静态默认 asset。
|
|
|
|
|
3. 调用 `CreatePipelineFromAsset(m_pipelineAsset)` 创建新的管线实例。
|
|
|
|
|
4. 再通过 `ResetPipeline(...)` 关停旧管线并接管新实例。
|
|
|
|
|
|
|
|
|
|
## 关键语义
|
|
|
|
|
|
|
|
|
|
- 这是“从 asset 创建实例”的入口,和 [SetPipeline](SetPipeline.md) 的手动注入路径不同。
|
|
|
|
|
- 即使 asset 无法返回有效实例,`CreatePipelineFromAsset()` 也会继续回退到内建前向管线。
|
|
|
|
|
|
|
|
|
|
## 相关文档
|
|
|
|
|
|
|
|
|
|
- [SetPipeline](SetPipeline.md)
|
|
|
|
|
- [GetPipelineAsset](GetPipelineAsset.md)
|
|
|
|
|
- [Constructor](Constructor.md)
|
|
|
|
|
|