Files
XCEngine/docs/api/rhi/opengl/command-list/set-blend-state.md

44 lines
1.4 KiB
Markdown
Raw Normal View History

# OpenGLCommandList::SetBlendState
```cpp
void SetBlendState(const BlendState& state)
```
2026-03-20 02:35:45 +08:00
设置颜色混合状态。
**参数:**
2026-03-20 02:35:45 +08:00
- `state` - 混合状态结构,包含以下成员:
- `alphaToCoverageEnable` - Alpha to coverage 使能标志
- `renderTargets[0]` - 渲染目标混合配置(以第一个为例):
- `blendEnable` - 混合使能标志
- `srcBlend` - RGB 源混合因子(参见 `BlendFactor` 枚举)
- `dstBlend` - RGB 目标混合因子
- `srcBlendAlpha` - Alpha 源混合因子
- `dstBlendAlpha` - Alpha 目标混合因子
- `blendOp` - RGB 混合操作(参见 `BlendOp` 枚举)
- `blendOpAlpha` - Alpha 混合操作
**返回值**:无
**示例:**
```cpp
BlendState state;
2026-03-20 02:35:45 +08:00
state.alphaToCoverageEnable = false;
state.renderTargets[0].blendEnable = true;
state.renderTargets[0].srcBlend = BlendFactor::SrcAlpha;
state.renderTargets[0].dstBlend = BlendFactor::InvSrcAlpha;
state.renderTargets[0].srcBlendAlpha = BlendFactor::One;
state.renderTargets[0].dstBlendAlpha = BlendFactor::InvSrcAlpha;
state.renderTargets[0].blendOp = BlendOp::Add;
state.renderTargets[0].blendOpAlpha = BlendOp::Add;
commandList->SetBlendState(state);
```
## 相关文档
2026-03-20 02:35:45 +08:00
- [OpenGLCommandList 总览](command-list.md) - 返回类总览
- [SetBlendFactor](set-blend-factor.md) - 设置混合常量颜色
- [BlendFactor](../../enums/blend-factor.md) - 混合因子枚举
- [BlendOp](../../enums/blend-op.md) - 混合操作枚举