Files
XCEngine/docs/api/rhi/opengl/command-list/set-blend-state.md
2026-03-20 02:35:45 +08:00

1.4 KiB

OpenGLCommandList::SetBlendState

void SetBlendState(const BlendState& state)

设置颜色混合状态。

参数:

  • state - 混合状态结构,包含以下成员:
    • alphaToCoverageEnable - Alpha to coverage 使能标志
    • renderTargets[0] - 渲染目标混合配置(以第一个为例):
      • blendEnable - 混合使能标志
      • srcBlend - RGB 源混合因子(参见 BlendFactor 枚举)
      • dstBlend - RGB 目标混合因子
      • srcBlendAlpha - Alpha 源混合因子
      • dstBlendAlpha - Alpha 目标混合因子
      • blendOp - RGB 混合操作(参见 BlendOp 枚举)
      • blendOpAlpha - Alpha 混合操作

返回值:无

示例:

BlendState state;
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);

相关文档