渲染为颜色通道而不影响其他通道

时间:2011-04-06 16:21:00

标签: opengl

使用OpenGL(任何版本),如何通过一次仅影响一个颜色通道来渲染到帧缓冲区对象中?

例如,我的帧缓冲区对象具有GL_BGRA布局。现在我想执行一些只应更改红色通道的渲染命令。因此,如果a片段将使用颜色(204,0,0,0)呈现,并且像素currenlty具有颜色(18,0,100,99),则结果应为(204,0,100,99)。 这适用于所有渠道(至少对于BGR而言)。是否有某种掩码命令?

1 个答案:

答案 0 :(得分:5)

是的,它被称为glColorMask

  

指定红色,绿色,蓝色和   alpha可以写也可以不写   进入帧缓冲区。   初始值都是GL_TRUE,   表示可以写出颜色成分

(来自http://www.opengl.org/sdk/docs/man/xhtml/glColorMask.xml