Wire depth and shadow requests through camera renderer

This commit is contained in:
2026-04-04 14:41:01 +08:00
parent 9e8810e593
commit 1a236b866d
6 changed files with 323 additions and 7 deletions

View File

@@ -355,11 +355,14 @@ Unity-like Shader Authoring (.shader)
- 新增 `BuiltinDepthOnlyPass / BuiltinShadowCasterPass`,作为独立 `RenderPass` 复用同一套 shared pass-layout skeleton
- 两个 pass 当前先收敛到 `PerObject` 常量路径opaque 物体走 builtin fallback`ShadowCaster` 额外尊重 `MeshRenderer.castShadows`
- 这一步解决的是“pass contract 与执行骨架缺失”,还没有把 shadow map / light-space request flow 一次性做完
-验证`rendering_unit_tests` 71/71
-完成`CameraRenderRequest + CameraRenderer` 正式接入 `DepthOnly / ShadowCaster` request 流程
- 新增 `depthOnly / shadowCaster` request支持独立 surface、clear flags / clear color以及可选 `RenderCameraData` override
- `CameraRenderer` 现在按 `ShadowCaster -> DepthOnly -> Forward -> ObjectId` 的顺序执行这些请求,`BuiltinDepthStylePassBase` 也会按 request clear flags 清理目标
- 已验证:`rendering_unit_tests` 73/73
- 已验证:`rendering_integration_textured_quad_scene` 3/3D3D12 / OpenGL / Vulkan
- 已验证:`rendering_integration_unlit_scene` 3/3D3D12 / OpenGL / Vulkan
- 已验证:`rendering_integration_object_id_scene` 3/3D3D12 / OpenGL / Vulkan
- 下一步:如果继续沿 renderer 主线收口,优先 `DepthOnly / ShadowCaster` 真正接到 request / light-space 渲染流程,并补对应 integration coverage如果先控制范围当前 shader/material/pass contract 这一小阶段已经接近收口
- 下一步:如果继续沿 renderer 主线收口,优先 `DepthOnly / ShadowCaster` 的真实 cross-backend integration coverage并决定是否把 shadow-map 结果继续接回 forward lighting 消费链如果先控制范围request 流程这一块已经收口
### 阶段 D扩展 AssetDatabase / Library Artifact 能力