1.1 KiB
1.1 KiB
CameraRenderer::SetShadowCasterPass
命名空间: XCEngine::Rendering
类型: method
头文件: XCEngine/Rendering/Execution/CameraRenderer.h
签名
void SetShadowCasterPass(std::unique_ptr<RenderPass> shadowCasterPass);
作用
替换当前用于消费 request.shadowCaster 的独立 scene pass。
当前实现行为
- 如果旧
m_shadowCasterPass非空,先调用它的Shutdown()。 - 接管新的
shadowCasterPass。 - 如果新指针为空,则自动回退到 Passes::BuiltinShadowCasterPass。
关键语义
- 这里替换的是一个普通
RenderPass,并不要求必须是 builtin shadow-caster 实现。 CameraRenderer::Render()只在request.shadowCaster.IsRequested()时才会执行这里持有的 pass。- 当前执行顺序里,shadow-caster pass 位于 depth-only 与主主管线之前。