2012-09-18 19 views
5

? ¿Qué debería hacer el siguiente código suponiendo que algo se dibujó antes del código siguiente?¿GlColorMask afecta a 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); 

¿Debería este código simplemente establecer el alfa en 1 o se borrará el búfer de color?

O, en otras palabras, ¿afecta glColorMask lo que glClear hace o solo se aplica a las operaciones de dibujo normales?

Pregunto específicamente con respecto a OpenGL ES 2.0 por lo que cualquier referencia a una especificación será apreciada.

Respuesta

10

Limpiará solamente el canal alfa.

La prueba de la propiedad de pixel, la prueba de tijera, tramado, y el tampón writemasks afectan la operación de glClear

Cuestiones relacionadas