Files
XCEngine/docs/api/XCEngine/Rendering/CameraRenderer/SetPipeline.md

1.2 KiB

CameraRenderer::SetPipeline

命名空间: XCEngine::Rendering

类型: method

头文件: XCEngine/Rendering/CameraRenderer.h

签名

void SetPipeline(std::unique_ptr<RenderPipeline> pipeline);

作用

手动替换当前主管线实例,并切断与 RenderPipelineAsset 的绑定关系。

当前实现行为

  1. 先把 m_pipelineAsset.reset(),表示后续不再认为当前管线来自某个 asset。
  2. 调用内部 ResetPipeline(std::move(pipeline))
  3. ResetPipeline() 会:
    • 对旧 m_pipeline 调用 Shutdown()
    • 接管新的 pipeline
    • 如果新指针为空,则回退到默认 pipeline asset 创建的内建前向管线

参数

参数 说明
pipeline 新的主管线实例所有权。可以为空;为空时会自动回退到默认内建前向管线。

关键语义

  • 这是“直接注入实例”的入口,不会保留原来的 pipeline asset。
  • 替换时走的是显式关停旧管线的路径,而不是简单换指针。

相关文档