Files
XCEngine/docs/api/XCEngine/Rendering/Passes/BuiltinVolumetricPass/Execute.md

860 B
Raw Blame History

BuiltinVolumetricPass::Execute

bool Execute(const RenderPassContext& context) override;

context.sceneData.visibleVolumes 中的体积绘制到当前 render target。

当前实现流程

  1. 校验 renderContext
  2. visibleVolumes 为空,直接返回 true
  3. 要求 surface 具备单颜色附件、深度附件和有效 render area
  4. 设置 viewport、scissor 和 triangle-list topology
  5. 逐个调用内部 DrawVisibleVolume(...)

关键语义

  • 这里不负责 scene extraction输入必须已经是 VisibleVolumeItem
  • 体积绘制依赖材质 shader pass 与 volume SRV 都已可用
  • 某个体积绘制失败不会自动切换为其他 shader 或 fallback path

相关文档