1.3 KiB
1.3 KiB
ApplyMaterialRenderState
命名空间: XCEngine::Rendering
类型: function
头文件: XCEngine/Rendering/Materials/RenderMaterialStateUtils.h
签名
void ApplyMaterialRenderState(
const Resources::Material* material,
RHI::GraphicsPipelineDesc& pipelineDesc);
作用
把材质的栅格化、混合和深度状态一次性写入 GraphicsPipelineDesc。
当前实现行为
当前实现本身不加额外策略,只是统一调用三组状态构建函数:
pipelineDesc.rasterizerState = BuildRasterizerState(material);
pipelineDesc.blendState = BuildBlendState(material);
pipelineDesc.depthStencilState = BuildDepthStencilState(material);
关键语义
- 这里不会处理 render queue,也不会决定材质属于哪个 builtin pass。
- 它只关心
MaterialRenderState如何影响最终图形管线状态。 - 这些
MaterialRenderState字段通常来自MaterialLoader解析的renderStateJSON / artifact 数据。
适用场景
- builtin forward pipeline 组装 draw call 或 PSO 描述时
- 需要用统一规则把材质状态映射到后端无关 RHI 结构时