使用OpenGL(任何版本),如何通过一次仅影响一个颜色通道来渲染到帧缓冲区对象中?
例如,我的帧缓冲区对象具有GL_BGRA布局。现在我想执行一些只应更改红色通道的渲染命令。因此,如果a片段将使用颜色(204,0,0,0)呈现,并且像素currenlty具有颜色(18,0,100,99),则结果应为(204,0,100,99)。 这适用于所有渠道(至少对于BGR而言)。是否有某种掩码命令?
答案 0 :(得分:5)
是的,它被称为glColorMask
:
指定红色,绿色,蓝色和 alpha可以写也可以不写 进入帧缓冲区。 初始值都是GL_TRUE, 表示可以写出颜色成分
(来自http://www.opengl.org/sdk/docs/man/xhtml/glColorMask.xml)