Files
XCEngine/docs/api/XCEngine/Rendering/RenderMaterialUtility/ShaderPassHasExplicitBuiltinMetadata.md

38 lines
1.0 KiB
Markdown
Raw Normal View History

# 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)