• Viernes 15 de Noviembre de 2024, 05:30

Autor Tema:  Mover Fichero Ase  (Leído 2164 veces)

Perla_kiko

  • Miembro MUY activo
  • ***
  • Mensajes: 114
    • Ver Perfil
Mover Fichero Ase
« en: Viernes 18 de Febrero de 2005, 14:15 »
0
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

Ruben3d

  • Moderador
  • ******
  • Mensajes: 710
  • Nacionalidad: es
    • Ver Perfil
    • Web personal
Re: Mover Fichero Ase
« Respuesta #1 en: Sábado 19 de Febrero de 2005, 20:51 »
0
Hoal.

Es muy fácil desplazar un objeto a la hora de mostrarlo. Sólo tienes que utilizar:
Código: Text
  1. glTranslatef(x,y,z);
  2.  
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

Perla_kiko

  • Miembro MUY activo
  • ***
  • Mensajes: 114
    • Ver Perfil
Re: Mover Fichero Ase
« Respuesta #2 en: Lunes 21 de Febrero de 2005, 12:03 »
0
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?

Ruben3d

  • Moderador
  • ******
  • Mensajes: 710
  • Nacionalidad: es
    • Ver Perfil
    • Web personal
Re: Mover Fichero Ase
« Respuesta #3 en: Viernes 25 de Febrero de 2005, 19:49 »
0
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