"Ningún juego dura tanto hasta que te lo terminas como el que te programas tú mismo,
ninguno te absorbe tanto y ninguno te produce tanta satisfacción cuando lo has acabado"
Programacion de videojuegos
Sábado 03 de Junio del 2023

Menu principal
Colaborar (con PayPal)

Para continuar con el trabajo de esta Web y poder pagar el hosting, viene bien la ayuda que sea. Gracias a todos.

Importe: 

Ultimas descargas
19.Jan

Clase que permite dibujar texto en OpenGL con mucha facilidad.Usa FreeType2.Para ver que hace y c...


 Foro de UnSitioWeb :: Sobre el curso de programación de juegos
Bienvenido/a Visitante   
Normas del foro   por Vicengetorix el 04-10-2009 02:30
 Asunto :Cubo con Diferentes Texturas.. 09-09-2010 02:43 
Cesar Himura
Incorporado: 17-11-2009 22:47
Posts: 9
Localización
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
IP Logged
 Asunto :Respuesta:Cubo con Diferentes Texturas.. 10-09-2010 19:25 
Vicengetorix
Incorporado: 27-12-2008 18:54
Posts: 99
Localización
Lo primero es poner glBindTexture fuera del bloque glBegin-glEnd.

Lo segundo es comprobar que la carga de texturas es correcta.

Al poner el Bind dentro del bloque OpenGL ignora la funcion, por eso te aparece con la ultima cargada.
Si pintas cada cara en un bloque Begin-End y antes de cada cara seleccionas la textura, deberia funcionar.
IP Logged
 Asunto :Respuesta:Cubo con Diferentes Texturas.. 13-09-2010 18:51 
Cesar Himura
Incorporado: 17-11-2009 22:47
Posts: 9
Localización
Hola,

Gracias por tu respuesta!!

Funcionó con la setencia Bind fuera del bloque glBegin-glEnd.

Gracias
Saludos
IP Logged
Página # 


Powered by ccBoard




Banner