2011-11-09 7 views
6

Estoy creando un motor de sprites 2D en OpenGL y quiero deshabilitar los mipmaps, ya que no los necesito.Cómo deshabilitar mipmaps en OpenGL

cuando llamo:

glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, internal->internal_w, internal->internal_h, 0, GL_RGBA, GL_UNSIGNED_BYTE, internal->data); 
RenderWithThisTexture(); 

llegué rect blanco, pero cuando llamo:

gluBuild2DMipmaps(GL_TEXTURE_2D, GL_RGBA, internal->internal_w, internal->internal_h, GL_RGBA, GL_UNSIGNED_BYTE, internal->data); 
RenderWithThisTexture(); 

me dieron el rect adecuadamente textura

me di cuenta de que esto puede ser debido de mipmaps habilitados, pero lamentablemente no puedo encontrar ninguna información sobre cómo puedo desactivarlos.

quiero seguir con OpenGL 1.1 (no 2.0 o superior OGL código)

+0

Espero que se refiera a OpenGL 1.1 y no a 1.0, ya que el primero no es compatible con los objetos de textura, lo que hace que la textura sea muy ineficiente y engorroso de usar. Supongo que tampoco está hablando de ES, ya que de lo contrario la pregunta necesita volver a etiquetar/retitular de todos modos. –

+0

Sí, mi error, me refiero a 1.1 – PiotrK

Respuesta

15
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); 

Este debe ser el valor por defecto. Asegúrese de que no lo está cambiando a MIPMAP en algún lugar.

+15

En realidad, no es el valor predeterminado. Curiosamente, el valor predeterminado es 'GL_NEAREST_MIPMAP_LINEAR', que de hecho habilita el mipmapping. Y dicho sea de paso, debe indicar que también puede establecerlo en 'GL_NEAREST' dependiendo de las necesidades del OP, simplemente no hay nada con' MIPMAP' en él. –