您的位置:首页 > 运维架构

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

2014-02-21 09:52 701 查看
1.源因子和目标因子

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



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使用不同的混合方式

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息