Files
XCEngine/docs/api/XCEngine/Rendering/Materials/RenderMaterialStateUtils/RenderMaterialStateUtils.md

1.6 KiB

RenderMaterialStateUtils

命名空间: XCEngine::Rendering

类型: utility header

头文件: XCEngine/Rendering/Materials/RenderMaterialStateUtils.h

描述: 渲染材质状态转换辅助头,负责把 MaterialRenderState 翻译成 RHI 栅格化、混合和深度模板状态,并提供哈希辅助。

当前公开能力

  • ToRHICullMode(...)
  • ToRHIComparisonFunc(...)
  • ToRHIBlendFactor(...)
  • ToRHIBlendOp(...)
  • BuildRasterizerState(...)
  • BuildBlendState(...)
  • BuildDepthStencilState(...)
  • ApplyMaterialRenderState(...)
  • MaterialRenderStateHash

当前语义

  • BuildRasterizerState(...) 负责填充剔除模式和通用 rasterizer 默认值。
  • BuildBlendState(...) 负责把材质的颜色 / alpha 混合参数映射到 RHI::BlendDesc
  • BuildDepthStencilState(...) 负责把深度测试、深度写入和比较函数映射到 RHI::DepthStencilStateDesc
  • ApplyMaterialRenderState(...) 用一条 helper 把三类状态同时写入 RHI::GraphicsPipelineDesc
  • MaterialRenderStateHash 用于 pipeline-state 缓存键。

当前调用链

  • BuiltinForwardPipeline 用它构建每个材质对应的 GraphicsPipelineDesc
  • depth-style / object-id 之外的主场景绘制路径都依赖这层 material-state 映射。

相关文档