1.4 KiB
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:初始化失败;调用方不应假定这条管线已经进入可用状态。