混合例子
1. 屏蔽颜色写入
假设我们希望原始目标像素保持不变,即不被任何其他数值覆盖,也不与当前的光栅化源像素进行混合。当我们希望屏蔽后台缓冲区、只向深度/模板缓冲区写入数据时,该算法非常有用。要实现这一算法,可将源像素混合系数设为D3D11_BLEND_ZERO,目标混合系数设为D3D11_BLEND_ONE,混合运算符设为D3D11_BLEND_OP_ADD。使用一方案,混合方程可简化为:
还有一种方法可以实现相同的结果,就是将D3D11_RENDER_TARGET_BLEND_DESC::RenderTargetWriteMask设置为0,这样就不会写入任何颜色通道。
2. 加法
假设我们希望将源像素和目标像素相加(参见下图)。要实现这一算法,可将源混合系数设为D3D11_BLEND_ONE,目标混合系数设为D3D11_BLEND_ONE,混合运算符设为D3D11_BLEND_OP_ADD。使用一方案,混合方程可简化为: