1.1 KiB
1.1 KiB
MatchesBuiltinPass
命名空间: XCEngine::Rendering
类型: function
头文件: XCEngine/Rendering/RenderMaterialUtility.h
签名
bool MatchesBuiltinPass(const Resources::Material* material, BuiltinMaterialPass pass);
作用
判断材质是否匹配当前内建渲染通道。
当前实现行为
当前只对 BuiltinMaterialPass::Forward 做了明确逻辑:
- 如果
material == nullptr,直接返回true。 - 先检查
material->GetShaderPass()。 - 再检查
material->GetTag("LightMode")。 - 这两个字段只要非空且不属于
forward / forwardbase / forwardlit / forwardonly,就返回false。 - 两边都通过时返回
true。
设计含义
这是一套偏宽松的前向通道匹配策略。它允许:
- 完全没写 pass 元数据的简单材质先跑起来。
- 使用不同命名习惯但语义接近的前向 pass 被统一接纳。
代价是当前还谈不上完整的多 pass 调度系统,更接近“builtin forward pipeline 的白名单过滤器”。