he notado que cuando estoy cargando una textura, que podría cambiar el color de dibujo actual, dependiendo del color de la textura. Por ejemplo, después de ejecutarOpenGL: Cargar una textura cambia el color actual
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, info.biWidth,
info.biHeight, 0, GL_RGB, GL_UNSIGNED_BYTE,bitmap);
glTexParameterf(GL_TEXTURE_2D,
GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D,
GL_TEXTURE_MAG_FILTER, GL_LINEAR);
todos los polígonos dibujados consecutivos a la pantalla tendrá un color en función de la imagen de textura cargado en.
Es esa norma? No encontré este comportamiento documentado.
Huh? ¿No es mejor simplemente 'glColor4f (1.0f, 1.0f, 1.0f, 1.0f)', en lugar de deshabilitar la función de textura completa? –
@Matias, gracias, pero estaré encantado de ver esto documentado en algún lugar del estándar OpenGL. –
@Elazar No, el uso de glColor multiplicará el color de la textura con 1.0. Esto no se documenta directamente, la única documentación que se encontrará es "GL es una máquina de estados", si están activadas las texturas, la textura uno está obligado, ¿cómo esperas GL para saber que no desea texturas? –