1.2 KiB
1.2 KiB
CameraRenderer::SetPipeline
命名空间: XCEngine::Rendering
类型: method
头文件: XCEngine/Rendering/CameraRenderer.h
签名
void SetPipeline(std::unique_ptr<RenderPipeline> pipeline);
作用
手动替换当前主管线实例,并切断与 RenderPipelineAsset 的绑定关系。
当前实现行为
- 先把
m_pipelineAsset.reset(),表示后续不再认为当前管线来自某个 asset。 - 调用内部
ResetPipeline(std::move(pipeline))。 ResetPipeline()会:- 对旧
m_pipeline调用Shutdown() - 接管新的
pipeline - 如果新指针为空,则回退到默认 pipeline asset 创建的内建前向管线
- 对旧
参数
| 参数 | 说明 |
|---|---|
pipeline |
新的主管线实例所有权。可以为空;为空时会自动回退到默认内建前向管线。 |
关键语义
- 这是“直接注入实例”的入口,不会保留原来的 pipeline asset。
- 替换时走的是显式关停旧管线的路径,而不是简单换指针。