2008-12-26 53 views
9

在opengl中可以设置混合来实现叠加颜色叠加吗?如何设置添加色叠加的混合?

红+绿=黄,青+品红=白等。(见diagram

+4

uhm ...我不认为青色+洋红色=白色。 R + G + B =白 – 2008-12-26 14:01:51

+3

G + B = C,R + B = M,所以C + M等于G + B + R + B。这是白色的,你可以得到。 – 2008-12-26 17:58:16

回答

4

使用glBlendFunc(GL_ONE,GL_ONE)可以实现简单的添加混合。您需要了解OpenGL的颜色值范围限制为[0,1],大于1的值将被限制为1,因此添加明亮的颜色可能不会产生物理上正确混合的颜色。如果你想达到这个目的,你必须在你自己的软件中添加和缩放颜色,而不是让OpenGL处理​​它,或者编写一个着色器程序来渲染。