Share builtin pass layout assembly utilities
This commit is contained in:
@@ -336,7 +336,7 @@ Unity-like Shader Authoring (.shader)
|
||||
- 至少 `ForwardLit + Unlit + ObjectId` 共用同一套 shader/material 执行边界
|
||||
- 新增 pass 不再默认要求先写一套新的硬编码 binding 路径
|
||||
|
||||
当前进展(`2026-04-03`):
|
||||
当前进展(`2026-04-04`):
|
||||
|
||||
- 已完成:builtin `ObjectId` pass 接入通用 pass binding plan
|
||||
- builtin object-id shader 已显式声明 `PerObject` 资源合约
|
||||
@@ -346,8 +346,15 @@ Unity-like Shader Authoring (.shader)
|
||||
- 新增 builtin `unlit` shader 资产与 `BuiltinResources` 入口
|
||||
- `BuiltinForwardPipeline` 现在会在 `ForwardLit + Unlit` 之间按 material/shader metadata 解析目标 pass
|
||||
- `Unlit` 与 `ForwardLit` 现在共用同一套 input layout、material schema、binding plan 与 descriptor 组装路径
|
||||
- 已验证:`rendering_unit_tests` 61/61,`shader_tests` 27/27,`material_tests` 51/51
|
||||
- 下一步:评估是否抽出 `ForwardLit / Unlit / ObjectId` 共用的 pass layout 构建与 descriptor set 组装骨架,并继续推进 `DepthOnly / ShadowCaster`
|
||||
- 已完成:抽出 `ForwardLit / Unlit / ObjectId` 共用的 pass layout / descriptor set 组装骨架
|
||||
- `RenderMaterialUtility` 现在统一提供 `BuiltinPassSetLayoutMetadata` 与 `TryBuildBuiltinPassSetLayouts(...)`
|
||||
- `BuiltinForwardPipeline` 与 `BuiltinObjectIdPass` 现在都复用同一套 `binding plan -> set layout -> pipeline layout` 组装路径
|
||||
- forward 侧只保留 set0 compatibility fallback 与 draw/update 逻辑;object-id 侧只保留自身约束校验与 per-object 常量写入
|
||||
- 已验证:`rendering_unit_tests` 65/65
|
||||
- 已验证:`rendering_integration_textured_quad_scene` 3/3(D3D12 / OpenGL / Vulkan)
|
||||
- 已验证:`rendering_integration_unlit_scene` 3/3(D3D12 / OpenGL / Vulkan)
|
||||
- 已验证:`rendering_integration_object_id_scene` 3/3(D3D12 / OpenGL / Vulkan)
|
||||
- 下一步:如果继续沿 renderer 主线收口,优先把 `DepthOnly / ShadowCaster` 接到同一套 shared pass-layout skeleton;如果先控制范围,当前 `ForwardLit / Unlit / ObjectId` 已可以视为这一小阶段完成
|
||||
|
||||
### 阶段 D:扩展 AssetDatabase / Library Artifact 能力
|
||||
|
||||
|
||||
Reference in New Issue
Block a user