Hola,
Tengo pintado un cubo en pantalla y deseo ponerle diferentes texturas en diferentes caras pero no lo he conseguido.
Pongo un fragmento del código con el que pinto una de las caras:
Code:
#define DIMENSION 1.7f
....
glBegin(GL_QUADS);
glBindTexture(GL_TEXTURE_2D, texture1);
glTexCoord2i(0, 0);
glVertex3f(DIMENSION, DIMENSION,-DIMENSION);
glTexCoord2i(0, 1);
glVertex3f(-DIMENSION, DIMENSION,-DIMENSION);
glTexCoord2i(1, 1);
glVertex3f(-DIMENSION, DIMENSION, DIMENSION);
glTexCoord2i(1, 0);
glVertex3f(DIMENSION, DIMENSION, DIMENSION);
.......
glEnd();
Cuando pinto otra cara lo hago similar pero selecciono otro textura con:
Code:
glBindTexture(GL_TEXTURE_2D, texture2);
El cubo lo pinta todo con una misma textura, y lo curioso es el comportamiento, porque cuando pongo el glBindTexture afuera del glBegin(GL_QUADS) asigna la textura seleccionada a todas las caras aunque cambie de seleccion para cada cara y si lo pongo desde adentro asigna la última textura cargada en todas las caras.
Al principio del programa tengo una función donde cargo todas las texturas para después solo seleccionarlas.
¿Me pueden ayudar?
Gracias
Saludos |