Files
XCEngine/docs/api/XCEngine/Rendering/CameraRenderRequest/ScenePassRenderRequest/ScenePassRenderRequest.md

2.1 KiB

ScenePassRenderRequest

命名空间: XCEngine::Rendering

类型: struct

头文件: XCEngine/Rendering/Planning/CameraRenderRequest.h

描述: 描述一份独立 scene pass 请求是否需要执行,以及这份 depth-only / shadow-caster 目标与覆盖参数是否完整可用。

概述

ScenePassRenderRequestCameraRenderRequest 里的辅助子请求,用来描述“在主 RenderPipeline 之前,是否还要额外执行一次 scene pass 重绘”。

当前 DepthOnlyRenderRequestShadowCasterRenderRequest 都只是它的类型别名,因此两条路径共用同一套数据契约:

字段 说明
surface scene pass 要写入的目标表面;当前实现要求至少有第一张颜色附件和一个深度附件。
clearFlags 回写到临时 sceneData.cameraData.clearFlags 的覆盖值。
hasClearColorOverride / clearColorOverride 是否覆盖这次 scene pass 使用的清屏色。
hasCameraDataOverride / cameraDataOverride 预留的相机数据覆盖槽位;当前 CameraRenderer 还没有消费它。

关键语义

  • IsRequested 只回答“调用方有没有挂一个颜色附件过来”。
  • IsValid 才回答“这份 scene pass 输出目标是否足够完整,可以真正执行”。
  • engine/src/Rendering/CameraRenderer.cpp 的当前实现,CameraRenderer::Render() 会先消费 shadowCaster,再消费 depthOnly,之后才进入主 RenderPipeline

真实使用位置

相关文档