混合(Blend)被用于创建透明的对象。渲染图像时,当所有的着色器执行完并且所有的纹理都被应用之后,像素点会被写入屏幕。如何将这些像素与已有图像进行组合?我们就需要使用混合命令来告诉GPU混合的方式。
混合命令有以下这些:
Blend Off | 关闭混合(默认) |
Blend SrcFactor DstFactor | 片元产生的颜色乘以SrcFactor,加上屏幕上已有的颜色乘以DstFactor, 得到最终的颜色(写入颜色缓存) |
Blend SrcFactor DstFactor, SrcFactorA DstFactorA | 同上,只不过使用单独的因子SrcFactorA和DstFactorA来混合透明度通道 |
BlendOp BlendOperation | 用其他的操作来取代加法混合。 |
BlendOp OpColor, OpAlpha | 同上,只不过对于透明度通道使用不同的操作。 |