# ShaderPassHasExplicitBuiltinMetadata **命名空间**: `XCEngine::Rendering` **类型**: `function` **头文件**: `XCEngine/Rendering/Builtin/BuiltinPassMetadataUtils.h` ## 签名 ```cpp bool ShaderPassHasExplicitBuiltinMetadata(const Resources::ShaderPass& shaderPass); ``` ## 作用 判断一个 `ShaderPass` 是否显式声明了 builtin pass 元数据。 ## 当前实现行为 满足以下任一条件就返回 `true`: - `shaderPass.name` 非空且不等于 `Default` - `shaderPass.tags` 里存在名字为 `LightMode` 的 tag 否则返回 `false`。 ## 当前语义 - 这条 helper 的主要作用是区分“显式声明了其它 pass”与“完全没有元数据,应继续走 `ForwardLit` 默认回退”。 - [MatchesBuiltinPass](MatchesBuiltinPass.md) 会在 shader 级遍历失败后用它决定是否关闭隐式 forward fallback。 ## 相关文档 - [ShaderPassMatchesBuiltinPass](ShaderPassMatchesBuiltinPass.md) - [MatchesBuiltinPass](MatchesBuiltinPass.md) - [RenderMaterialUtility](RenderMaterialUtility.md)