Files
XCEngine/docs/api/XCEngine/Rendering/RenderPipeline/Initialize.md

1.4 KiB

RenderPipeline::Initialize

初始化这条主场景 runtime 管线所需的底层资源。

virtual bool Initialize(const RenderContext& context) = 0;

当前语义

  • 这是一个“显式预热”入口,用来让具体管线提前准备 shader、pipeline state、descriptor set、采样器等资源。
  • 上层当前并不保证一定会在首次 Render 前先调用这里。按 engine/src/Rendering/CameraRenderer.cpp 的现状,CameraRenderer 会直接进入 m_pipeline->Render(...)
  • 因此调用方只能依赖“成功后这条管线进入可渲染状态”这一契约,不能依赖具体初始化时机。

当前实现弹性

  • 具体实现可以把初始化全部放在这里一次性完成。
  • 也可以像 BuiltinForwardPipeline 一样,在 Render 里按需触发或复用内部初始化逻辑。

参数

  • context - 当前帧的底层渲染上下文。

返回值

  • 返回 true:初始化成功,后续可进入 Render
  • 返回 false:初始化失败;调用方不应假定这条管线已经进入可用状态。

相关文档