关于opengl颜色混合模式,opengl颜色填充这个很多人还不知道,今天琪琪来为大家解答以上的问题,现在让我们一起来看看吧!
opengl颜色混合模式 opengl颜色填充
opengl颜色混合模式 opengl颜色填充
opengl颜色混合模式 opengl颜色填充
opengl颜色混合模式 opengl颜色填充
1、混合在OpenGL的多图层叠加和缓冲区颜色计算中必不可少。
2、开发人员可以通过OpenGL自带的混合接口进行混合,也可以在着色器中自定义相关混合算法进行融合。
3、本文将详细讲解OpenGL自带的混合算法的计算方法,帮助需要进行颜色混合处理作的开发人员快速了解混合算法中的各项含义和计算方法,并简要讲解两种混合方式的实现。
4、OpengGL提供了15中混合函数供开发者快速使用,包括(混合系数枚举值、混合因子、注释):在实际运用场景中开启混合模式。
5、先在图层上上绘制一个颜色W(0.3,0.4,0.7,0.5),紧接着再绘制一个颜色X(0.8,0.2,0.3,0.1)。
6、如果采用的混合函数为 glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_COLOR) ,运算符为 glBlendEquation(GL_FUNC_ADD) ,其混合结果计算如下:条件和例子1中一样,除了混合函数采用 glBlendFuncSeparate(GL_ONE,GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE_MINUS_DST_ALPHA) ,通过分解可知由于OpenGL自带的混合算法接口存在一定局限性,除了上述介绍的内容就无法自定义扩展,因此开发人员也可以在着色器中完成混合。
7、但这样的做法不仅需要当前帧的颜色缓冲数据作为着色器输入,还需要前一帧的颜色缓冲数据,从而自定义算法完成混合。
8、因此其在时间和空间上存在一定劣势,但换来的是高自由度、可自定义的混合算法。
9、后续的文章中将以例子的形式介绍在着色器中使用混合。
本文到这结束,希望上面文章对大家有所帮助。
版权声明:本文内容由互联。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发 836084111@qq.com 邮箱删除。