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