2026-03-29 01:36:53 +08:00
|
|
|
# BuildRasterizerState
|
|
|
|
|
|
|
|
|
|
**命名空间**: `XCEngine::Rendering`
|
|
|
|
|
|
|
|
|
|
**类型**: `function`
|
|
|
|
|
|
2026-04-07 00:17:51 +08:00
|
|
|
**头文件**: `XCEngine/Rendering/Materials/RenderMaterialStateUtils.h`
|
2026-03-29 01:36:53 +08:00
|
|
|
|
|
|
|
|
## 签名
|
|
|
|
|
|
|
|
|
|
```cpp
|
|
|
|
|
RHI::RasterizerDesc BuildRasterizerState(const Resources::Material* material);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 作用
|
|
|
|
|
|
|
|
|
|
把材质的栅格化相关设置翻译成 RHI 侧的 `RasterizerDesc`。
|
|
|
|
|
|
|
|
|
|
## 当前实现行为
|
|
|
|
|
|
|
|
|
|
默认值为:
|
|
|
|
|
|
|
|
|
|
- `fillMode = Solid`
|
|
|
|
|
- `cullMode = None`
|
|
|
|
|
- `frontFace = CounterClockwise`
|
|
|
|
|
- `depthClipEnable = true`
|
|
|
|
|
|
|
|
|
|
如果 `material != nullptr`,当前只会用材质里的 `renderState.cullMode` 覆盖 `cullMode`;其他字段仍保持默认值。
|
|
|
|
|
|
|
|
|
|
## 设计含义
|
|
|
|
|
|
|
|
|
|
这说明当前材质系统对栅格化状态的暴露还比较克制,主要先解决剔除模式映射,尚未扩展到 fill mode 或 front face 的材质级可配置。
|
|
|
|
|
|
|
|
|
|
## 相关文档
|
|
|
|
|
|
|
|
|
|
- [ApplyMaterialRenderState](ApplyMaterialRenderState.md)
|
|
|
|
|
- [BuildBlendState](BuildBlendState.md)
|