1.2 KiB
1.2 KiB
ShaderPassMatchesBuiltinPass
命名空间: XCEngine::Rendering
类型: function
头文件: XCEngine/Rendering/Builtin/BuiltinPassMetadataUtils.h
签名
bool ShaderPassMatchesBuiltinPass(
const Resources::ShaderPass& shaderPass,
BuiltinMaterialPass pass);
作用
判断一个 shader pass 的显式元数据是否匹配目标 builtin pass。
当前实现行为
- 如果
shaderPass.name非空且不等于Default,就把它当成显式元数据,并要求它必须匹配目标 pass。 - 再遍历
shaderPass.tags;对每个名字为LightMode的 tag,同样要求其值必须匹配目标 pass。 - 只要出现过至少一处显式 metadata 且全部匹配,返回
true。 - 如果完全没有显式 metadata,则返回
false。
当前语义
- 这条 helper 不提供“没有 metadata 时默认 ForwardLit”的兜底;那个兜底属于 MatchesBuiltinPass 的更高层策略。
- 名称和
LightMode同时存在时,两者都必须匹配同一个目标 pass。