1.源因子和目标因子

void glBlendFunc (GLenum sfactor, GLenum dfactor);
//控制被处理片段(源片段)的颜色值如何与已经存储在帧缓冲区的像素(目标像素)的颜色值进行组合
//参数sfactor表示如何计算源混合因子,dfactor表示如何计算目标混合因子


《高效学习OpenGL》 之 混合 glBlendFunc(), glBlendFuncSeparate(),glBlendEquation(), glBlendEquationSeparate()_glBlendFunc


glBlendFuncSeparate(GLenum srcRGB, GLenum destRGB, GLenum srcAlpha, GLenum destAlpha);
//参数srcRGB表示颜色值的源混合因子,参数destRGB表示颜色在的目标混合因子,参数srcAlpha表示Alpha值的源混合因子,参数destAlpha表示Alpha值的目标混合因子


2.指定常量颜色

如果使用了其中一个GL*CONSTANT*混合函数就需要使用glBlendColor()指定一种常量颜色

glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
//使当前颜色作为混合操作的常量颜色


3.启用混合

glEnable(GL_BLEND)

4.使用混合方程式组合像素

glBlendEquation(GLenum mode);
//指定帧缓存区与源颜色混合的方式
glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha);
//允许RGB和Alpha使用不同的混合方式


《高效学习OpenGL》 之 混合 glBlendFunc(), glBlendFuncSeparate(),glBlendEquation(), glBlendEquationSeparate()_glBlendFuncSeparate_02