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

1.1 KiB

SceneRenderer::SceneRenderer

SceneRenderer();
explicit SceneRenderer(std::unique_ptr<RenderPipeline> pipeline);
explicit SceneRenderer(std::shared_ptr<const RenderPipelineAsset> pipelineAsset);

行为说明

三个构造路径都只是决定内部 m_cameraRenderer 如何初始化:

  • 默认构造:使用默认构造的 CameraRenderer
  • std::unique_ptr<RenderPipeline>:把手工注入的 runtime pipeline 交给 CameraRenderer
  • std::shared_ptr<const RenderPipelineAsset>:让 CameraRenderer 从 asset 创建 runtime pipeline。

当前实现细节

  • 默认构造函数本身没有额外逻辑,SceneRenderer::SceneRenderer() = default;
  • 如果传入的 pipeline 为空,CameraRenderer 内部会回退到默认 pipeline asset 并重新创建默认主管线。
  • 如果传入的 pipelineAsset 为空,CameraRenderer 也会回退到默认 BuiltinForwardPipelineAsset

相关文档