SoloCodigo
Programación Específica => Programación de Videojuegos => OpenGL => Mensaje iniciado por: Perla_kiko en Viernes 18 de Febrero de 2005, 14:15
-
Buenas , tengo dos fichero ase los cuales se me visualizan correctamente. el problema es que no queiro que se me coloque en las coordenadas que tiene dentro el fichero si no en una ubicacion que yo le especifique
Por ejemplo se podría crear un objeto a partir del ASE que sea uniforme y yo pueda decirle que lo mueva aqui o allà, es eso posible? no se si me he explicado muy bien. :rolleyes:
Un saludo
-
Hoal.
Es muy fácil desplazar un objeto a la hora de mostrarlo. Sólo tienes que utilizar:
antes de pasar la geometría con glBegin, donde x,y,z es la traslación en cada uno de los ejes.
Acuerdate de volver a la matriz original después.
Un saludo.
Ruben3d
PD: Más información aqui:
http://msdn.microsoft.com/library/default....func03_9a05.asp (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/opengl/glfunc03_9a05.asp)
-
Hola me ha funcionado bien, pero ahora no se pq cuando cargo el segundo ASE de la misma manera y indicandole un "glTranslatef" diferente no me dibuja el segundo, siemrpe es lo mismo solo dibuja el primero que le pido. Lo que hago es volver a las coordenadas del principio utilizando la misma instruccion con las coordenadas iniciales. Que hago mal?
-
Hola.
El problema surge de que la transformación se sigue aplicando. Con glTranslatef no estás dando coordenadas absolutas, sino desplazamiento relativo a la transformación anterior. Tienes que volver a la matriz anterior (que supongo que será la de identidad). La puedes guardar antes con glPushMatrix() y recuperarla después con glPopMatrix(). También puedes volver a generarla con glLoadIdentity().
Un saludo.
Ruben3d