glColorMask是否会影响glClear

dor*_*ron 5 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);
Run Code Online (Sandbox Code Playgroud)

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

或者换句话说,确实glColorMask会影响什么glClear做或只适用于正常的绘图操作?

我特别询问OpenGL ES 2.0,因此任何对规范的引用都将受到赞赏.

Plo*_*low 10

它只会清除alpha通道.

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