• Sábado 16 de Noviembre de 2024, 11:29

Autor Tema:  Transladar En Coordenadas Absolutas  (Leído 2131 veces)

Diodo

  • Moderador
  • ******
  • Mensajes: 658
    • Ver Perfil
    • http://www.solocodigo.com
Transladar En Coordenadas Absolutas
« en: Lunes 2 de Agosto de 2004, 19:27 »
0
Hola a todos  :alien:

Existe alguna funcion parecida a glTranslatef pero que situe el puntero de pintado en coordenadas absolutas ???

Si no existe, existe alguna que devuelva donde esta situado el puntero, para asi poder llevarlo al origen y hacer un nuevo glTranslate???

Gracias de antemano, ht luego  :hola:

Ruben3d

  • Moderador
  • ******
  • Mensajes: 710
  • Nacionalidad: es
    • Ver Perfil
    • Web personal
Re: Transladar En Coordenadas Absolutas
« Respuesta #1 en: Martes 3 de Agosto de 2004, 14:52 »
0
Hola.

Con la modelview matrix seleccionada, usa glLoadIdentity para devolverla a su estado original, sin ninguna transformación aplicada. También puedes usar glPushMatrix y glPopMatrix para guardar y recuperar la matriz en la pila de matrices (muy útil cuando estás haciendo movimientos jerárquicos, en donde unos objetos se mueven con respecto a otros, como en un sistema solar con satélites en los planetas).

Un saludo.

Ruben3d

Diodo

  • Moderador
  • ******
  • Mensajes: 658
    • Ver Perfil
    • http://www.solocodigo.com
Re: Transladar En Coordenadas Absolutas
« Respuesta #2 en: Martes 3 de Agosto de 2004, 16:01 »
0
Hola Ruben, gracias por tu respuesta

He probado con pop y push Matrix y va fenomenal

Aprovecho para preguntarte si sabes alguna manera de crear subdibujos, o submatrices (no se muy bien como definirlo) dentro de otro.
Es que lo necesito para hacer unas fichas tipo trivial donde cada vez que acierte una pregunta se le coloque un quesito
Si no consigo un metodo mejor habia pensado en incluir ya esos subdibujos con el mismo color que la ficha y simplemente cambiar el color del quesito, dando el efecto de aparicion

Gracias por tu tiempo  :hola:

Ruben3d

  • Moderador
  • ******
  • Mensajes: 710
  • Nacionalidad: es
    • Ver Perfil
    • Web personal
Re: Transladar En Coordenadas Absolutas
« Respuesta #3 en: Martes 3 de Agosto de 2004, 16:34 »
0
Hola.

Se me ocurre que podrías hacer algo así.
Código: Text
  1. for (int n=0; n<num_fichas; n++)
  2. {
  3.   glPushMatrix();
  4.  
  5.   // Posición absoluta
  6.   glRotate(...);
  7.   glTranslate(...);
  8.   pintar ficha[n];
  9.   for (int i=0; i<6; i++)  // En el trivial hay 6 quesitos
  10.   {
  11.     if (no tiene el quesito i)
  12.       continue;
  13.  
  14.     glPushMatrix();
  15.  
  16.     // Teniendo en cuenta que el origen es el centro de la ficha
  17.     glRotate(...);
  18.     glTranslate(...);
  19.     pintar quesito[i];
  20.     glPopMatrx();
  21.   }
  22.   glPopMatrix();
  23. }
  24.  

Supongo que la rotación de cada quesito la harás depender de i, para que cada color esté siempre en la misma posición.

Espero que te sirva de ayuda.

Un saludo.

Ruben3d

Diodo

  • Moderador
  • ******
  • Mensajes: 658
    • Ver Perfil
    • http://www.solocodigo.com
Re: Transladar En Coordenadas Absolutas
« Respuesta #4 en: Miércoles 4 de Agosto de 2004, 20:51 »
0
Gracias Ruben, Tu idea me sera de gran ayuda, :yes: me parece la mejor opccion

solo son 4 quesitos asi q mas facil toda via

 :lol: Hasta Luego  :hola: