1.源因子和目标因子
void glBlendFunc (GLenum sfactor, GLenum dfactor); //控制被处理片段(源片段)的颜色值如何与已经存储在帧缓冲区的像素(目标像素)的颜色值进行组合 //参数sfactor表示如何计算源混合因子,dfactor表示如何计算目标混合因子
glBlendFuncSeparate(GLenum srcRGB, GLenum destRGB, GLenum srcAlpha, GLenum destAlpha); //参数srcRGB表示颜色值的源混合因子,参数destRGB表示颜色在的目标混合因子,参数srcAlpha表示Alpha值的源混合因子,参数destAlpha表示Alpha值的目标混合因子
如果使用了其中一个GL*CONSTANT*混合函数就需要使用glBlendColor()指定一种常量颜色
glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); //使当前颜色作为混合操作的常量颜色
glEnable(GL_BLEND)
4.使用混合方程式组合像素
glBlendEquation(GLenum mode); //指定帧缓存区与源颜色混合的方式 glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha); //允许RGB和Alpha使用不同的混合方式
《高效学习OpenGL》 之 混合 glBlendFunc(), glBlendFuncSeparate(),glBlendEquation(), glBlendEquationSeparate()
原文:http://blog.csdn.net/biggbang/article/details/19604287