|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: May 2011
Messaggi: 6
|
Problema texture Opengl
ciao a tutti,
grazie in anticipo delle risposte. Questa è la mia funzione: Codice:
void old2() { glEnable(GL_TEXTURE_2D); glBindTexture(GL_TEXTURE_2D, prova.getID()); //printf("caricata texture(%d):",prova.getID()); glBegin(GL_QUADS); //alto-sx glTexCoord2i(0, 0); glVertex3f(-0.5, -0.5, 0.0); //alto-dx glTexCoord2i(1, 0); glVertex3f(0.5, -0.5, 0.0); //basso-dx glTexCoord2i(1, 1); glVertex3f(0.5, 0.5, 0.0); //basso-sx glTexCoord2i(0, 1); glVertex3f(-0.5, 0.5, 0.0); glEnd(); glDisable(GL_TEXTURE_2D); } (la carica come texture 1, larghezza 100px, altezza 100px, mode GL_RGB) Questa è la funzione per caricare le texture. Dai Log questa funziona: Codice:
glEnable(GL_TEXTURE_2D); SDL_Surface* Surface = IMG_Load(path.c_str()); glGenTextures(1, &mID); glBindTexture(GL_TEXTURE_2D, mID); int Mode = GL_RGB; if (Surface->format->BytesPerPixel == 4) { Mode = GL_RGBA; } glTexImage2D(GL_TEXTURE_2D, 0, Mode, Surface->w, Surface->h, 0, Mode, GL_UNSIGNED_BYTE, Surface->pixels); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); printf("Texture(%d), W(%d), H(%d), Mode(%0x).\n", mID, Surface->w, Surface->h, Mode); glDisable(GL_TEXTURE_2D); if (Surface == NULL) return false; else return true; Ultima modifica di feed_ : 08-10-2013 alle 00:32. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:05.