2011-11-09 2 views
6

Je crée un moteur de sprite 2D en OpenGL et je veux désactiver les mipmaps, car je n'en ai pas besoin.Comment désactiver mipmaps dans OpenGL

Quand j'appelle:

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

je suis arrivé rect blanc, mais quand je l'appelle:

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

J'ai obtenu le rect

correctement texturé je me suis dit que cela peut être dû au fait de mipmaps activé, mais malheureusement, je ne peux pas trouver d'informations comment je peux les désactiver.

Je veux rester avec OpenGL 1.1 (non OGL 2.0 ou code ci-dessus)

+0

J'espère que vous voulez dire OpenGL 1.1 et non 1.0, car le premier ne supporte pas les objets texture, ce qui rend la texturation très inefficace et lourde à utiliser. Je suppose que vous ne parlez pas non plus d'ES, car sinon la question doit être repellée/réitérée de toute façon. –

+0

Oui, mon erreur, je veux dire 1.1 – PiotrK

Répondre

15
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); 

Cela devrait être la valeur par défaut. Assurez-vous de ne pas le changer à MIPMAP quelque part.

+15

Ce n'est pas la valeur par défaut. Curieusement, la valeur par défaut est 'GL_NEAREST_MIPMAP_LINEAR', ce qui active en effet le mipmapping. Et en passant, vous devriez mettre que vous pouvez également mettre à GL_NEAREST en fonction des besoins de l'OP, rien avec MIPMAP. –