Files
XCEngine/docs/api/XCEngine/Rendering/RenderMaterialUtility/RenderMaterialUtility.md

89 lines
3.9 KiB
Markdown
Raw Normal View History

2026-03-29 01:36:53 +08:00
# RenderMaterialUtility
**命名空间**: `XCEngine::Rendering`
2026-04-08 16:07:03 +08:00
**类型**: `compatibility topic`
2026-03-29 01:36:53 +08:00
2026-04-08 16:07:03 +08:00
**描述**: 旧的 `RenderMaterialUtility.h` 已经拆分当前材质解析、builtin pass 契约和 render-state 映射分别落在 `Builtin/*``Materials/*` 目录下。
2026-03-29 01:36:53 +08:00
2026-04-08 16:07:03 +08:00
## 拆分结果
2026-03-29 01:36:53 +08:00
2026-04-08 16:07:03 +08:00
当前源码中不再存在单一的 `RenderMaterialUtility.h`。原来的职责已经拆到这些头文件:
2026-03-29 01:36:53 +08:00
2026-04-08 16:07:03 +08:00
- `XCEngine/Rendering/Builtin/BuiltinPassTypes.h`
- `XCEngine/Rendering/Builtin/BuiltinPassMetadataUtils.h`
- `XCEngine/Rendering/Builtin/BuiltinPassLayoutUtils.h`
- `XCEngine/Rendering/Builtin/BuiltinPassContract.h`
- `XCEngine/Rendering/Materials/RenderMaterialResolve.h`
- `XCEngine/Rendering/Materials/RenderMaterialStateUtils.h`
2026-03-29 01:36:53 +08:00
2026-04-08 16:07:03 +08:00
因此这页只保留为兼容入口,用来解释“原先归在 RenderMaterialUtility 名下的文档现在分别去哪了”。
2026-03-29 01:36:53 +08:00
2026-04-08 16:07:03 +08:00
## 当前分层
2026-03-29 01:36:53 +08:00
2026-04-08 16:07:03 +08:00
### Builtin pass 契约
2026-04-08 16:07:03 +08:00
这些页面描述 builtin pass 名称、资源语义和 binding-plan 构建规则:
2026-04-08 16:07:03 +08:00
- [BuiltinMaterialPass](BuiltinMaterialPass.md)
- [PassResourceBindingLocation](PassResourceBindingLocation.md)
- [BuiltinPassResourceSemantic](BuiltinPassResourceSemantic.md)
- [BuiltinPassResourceBindingDesc](BuiltinPassResourceBindingDesc.md)
- [BuiltinPassResourceBindingPlan](BuiltinPassResourceBindingPlan.md)
- [NormalizeBuiltinPassMetadataValue](NormalizeBuiltinPassMetadataValue.md)
- [IsForwardPassName](IsForwardPassName.md)
- [IsUnlitPassName](IsUnlitPassName.md)
- [IsDepthOnlyPassName](IsDepthOnlyPassName.md)
- [IsShadowCasterPassName](IsShadowCasterPassName.md)
- [IsObjectIdPassName](IsObjectIdPassName.md)
- [MatchesBuiltinPassName](MatchesBuiltinPassName.md)
- [ShaderPassHasExplicitBuiltinMetadata](ShaderPassHasExplicitBuiltinMetadata.md)
- [ShaderPassMatchesBuiltinPass](ShaderPassMatchesBuiltinPass.md)
- [ResolveBuiltinPassResourceSemantic](ResolveBuiltinPassResourceSemantic.md)
- [IsBuiltinPassResourceTypeCompatible](IsBuiltinPassResourceTypeCompatible.md)
- [TryBuildBuiltinPassResourceBindingPlan](TryBuildBuiltinPassResourceBindingPlan.md)
2026-04-08 16:07:03 +08:00
### 材质解析
2026-03-29 01:36:53 +08:00
2026-04-08 16:07:03 +08:00
这些页面描述材质选择、builtin fallback 常量以及 schema-driven 常量布局:
2026-03-29 01:36:53 +08:00
2026-04-08 16:07:03 +08:00
- [BuiltinForwardMaterialData](BuiltinForwardMaterialData.md)
- [FindShaderPropertyBySemantic](FindShaderPropertyBySemantic.md)
- [MaterialConstantLayoutView](MaterialConstantLayoutView.md)
- [MaterialConstantPayloadView](MaterialConstantPayloadView.md)
- [ResolveBuiltinBaseColorFactor](ResolveBuiltinBaseColorFactor.md)
- [ResolveBuiltinBaseColorTexture](ResolveBuiltinBaseColorTexture.md)
- [BuildBuiltinForwardMaterialData](BuildBuiltinForwardMaterialData.md)
- [ResolveSchemaMaterialConstantPayload](ResolveSchemaMaterialConstantPayload.md)
- [ResolveMaterial](ResolveMaterial.md)
- [ResolveMaterialRenderQueue](ResolveMaterialRenderQueue.md)
- [IsTransparentRenderQueue](IsTransparentRenderQueue.md)
- [MatchesBuiltinPass](MatchesBuiltinPass.md)
2026-04-03 15:30:47 +08:00
2026-04-08 16:07:03 +08:00
### Render-state 映射
2026-04-03 15:30:47 +08:00
2026-04-08 16:07:03 +08:00
这些页面描述 `MaterialRenderState` 到 RHI 状态的转换:
- [ToRHICullMode](ToRHICullMode.md)
- [ToRHIComparisonFunc](ToRHIComparisonFunc.md)
- [ToRHIBlendFactor](ToRHIBlendFactor.md)
- [ToRHIBlendOp](ToRHIBlendOp.md)
- [BuildRasterizerState](BuildRasterizerState.md)
- [BuildBlendState](BuildBlendState.md)
2026-04-08 16:07:03 +08:00
- [BuildDepthStencilState](BuildDepthStencilState.md)
- [ApplyMaterialRenderState](ApplyMaterialRenderState.md)
- [MaterialRenderStateHash](MaterialRenderStateHash.md)
## 当前边界
- 旧的 legacy binding builder 接口已经移除,当前文档不再保留对应页面。
- `RenderMaterialUtility` 现在更适合被理解成一个主题集合,而不是单个公开头文件。
- 需要从真实源码入口追踪时,优先看 [Builtin](../Builtin/Builtin.md) 和 [Materials](../Materials/Materials.md)。
2026-03-29 01:36:53 +08:00
## 相关文档
2026-04-08 16:07:03 +08:00
- [Rendering](../Rendering.md)
- [Builtin](../Builtin/Builtin.md)
- [Materials](../Materials/Materials.md)
2026-03-29 01:36:53 +08:00
- [BuiltinForwardPipeline](../Pipelines/BuiltinForwardPipeline/BuiltinForwardPipeline.md)