|
|||||||
|
|
|
![]() |
|
|
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 01:32. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:30.


















