860 B
860 B
BuiltinVolumetricPass::Execute
bool Execute(const RenderPassContext& context) override;
把 context.sceneData.visibleVolumes 中的体积绘制到当前 render target。
当前实现流程
- 校验
renderContext - 若
visibleVolumes为空,直接返回true - 要求 surface 具备单颜色附件、深度附件和有效 render area
- 设置 viewport、scissor 和 triangle-list topology
- 逐个调用内部
DrawVisibleVolume(...)
关键语义
- 这里不负责 scene extraction;输入必须已经是
VisibleVolumeItem - 体积绘制依赖材质 shader pass 与 volume SRV 都已可用
- 某个体积绘制失败不会自动切换为其他 shader 或 fallback path