5

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

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 的问题,因此对规范的任何参考将不胜感激。

4

1 回答 1

10

它只会清除 Alpha 通道。

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

于 2012-09-18T10:51:54.803 回答