Generalize builtin pass resource binding plan

This commit is contained in:
2026-04-03 16:59:18 +08:00
parent e0e5c1fcaa
commit 2de254a16f
5 changed files with 311 additions and 159 deletions

View File

@@ -316,7 +316,12 @@ Unity-like Shader Authoring (.shader)
- `Material` 现在会生成正式的 constant layout 元数据
- layout 字段包含 `name / type / offset / size / alignedSize`
- renderer 读取的已不再只是裸字节 payload而是 `layout + payload` 组合
- 下一步:把 texture / sampler / constant resource mapping 从 builtin forward 特判继续推进到更通用的 pass contract
- 已完成builtin pass resource mapping / material binding plan runtime contract
- `RenderMaterialUtility` 现在统一提供 `PassResourceBindingLocation / BuiltinPassResourceBindingPlan`
- 显式 shader pass `resources` 与 legacy builtin forward fallback 已走同一套解析与校验路径
- `BuiltinForwardPipeline` 已改为消费通用 binding plan而不是继续内联 forward 特判绑定逻辑
- 已验证:`rendering_unit_tests` 57/57`material_tests` 51/51
- 下一步:把这套 pass binding plan 继续推到 `Unlit / ObjectId` 等 pass收敛成真正共享的 shader/material 执行边界
### 阶段 C把 Pass Binding 扩展为正式材质执行链路