2011-11-09 15 views
6

Sto creando un motore sprite 2D in OpenGL e voglio disabilitare mipmaps, dato che non ne ho bisogno.Come disattivare mipmap in OpenGL

quando chiamo:

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

ho ottenuto rect bianco, ma quando chiamo:

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

ho ottenuto il rect correttamente strutturato

ho capito che questo può essere dovuto al fatto di mipmap abilitati, ma purtroppo non riesco a trovare nessuna informazione su come posso disabilitarli.

voglio attaccare con OpenGL 1.1 (non OGL 2.0 o superiore codice)

+0

Spero che intendiate OpenGL 1.1 e non 1.0, poiché il primo non supporta gli oggetti texture, il che rende la texturing molto inefficiente e ingombrante da usare. Presumo che tu non parli di ES, perché altrimenti la domanda ha bisogno di essere rimandata/ridigitare comunque. –

+0

Sì, errore mio, intendo 1.1 – PiotrK

risposta

15
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); 

Questo dovrebbe essere il default. Assicurati di non cambiarlo in MIPMAP da qualche parte.

+15

In realtà non è l'impostazione predefinita. Stranamente il valore predefinito è 'GL_NEAREST_MIPMAP_LINEAR', che consente effettivamente mipmapping. E a proposito, dovresti mettere fuori che puoi anche impostarlo su 'GL_NEAREST' a seconda delle necessità dell'OP, solo con' MIPMAP' in esso. –

Problemi correlati