2012-09-18 117 views
5

下面的代码应该假定在下面的代码之前绘制了什么?glColorMask是否会影响glClear

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,所以对规范的任何引用将不胜感激。

回答

10

它只会清除alpha通道。

像素所有权测试,切测试,抖动,和缓冲器写掩码影响的glClear

操作