glColorMask是否会影响glClear

时间:2012-09-18 10:41:39

标签: c++ c opengl-es opengl-es-2.0

如果在下面的代码之前绘制了一些东西,下面的代码应该做什么?

glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_TRUE);
glClearColor(0.0, 0.0, 0.0, 1.0);
glClear(GL_COLOR_BUFFER_BIT);
glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);

这段代码应该将alpha设置为1还是清除颜色缓冲区?

或者换句话说,glColorMask是否会影响glClear的作用或仅适用于正常的绘制操作?

我特别询问OpenGL ES 2.0,因此我们将不胜感激任何对规范的引用。

1 个答案:

答案 0 :(得分:10)

它只会清除alpha通道。

  

像素所有权测试,剪刀测试,抖动和缓冲区写掩码会影响glClear的操作