/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

Problemas con lib3ds (ayuda urgente...)

 
      Índice del Foro elrincondelc.com -> Gráficos
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
OK-River



Registrado: 17 Jun 2007
Mensajes: 1

MensajePublicado: 17/06/2007 12:52 pm
Título: Problemas con lib3ds (ayuda urgente...)

Estoy usando esta librería para cargar modelos 3DS y usarlos con OpenGL. No consigo que todos los modelos se muestren bien: un alto porcentaje de ellos me salen con las piezas descolocadas e incluso invertidas. Lo que sé es que las piezas se definen en coordenadas relativas y hay que aplicarles transformaciones para situarlas, pero las únicas transformaciones de las que tengo constancia son:

- Matriz de transformación de malla
- Matriz de transformación de nodo (si lo hay, asociado a la malla)
- Vector "pivote" del nodo (si hay nodo).

Lo que hago es aplicar la inversa de la matriz de la malla (no sé por qué es la inversa, sólo sé que es así, lo saqué del ejemplo de la librería), y luego la matriz del nodo (sin invertir) y una traslación basándome en el pivote. Las transformaciones las hago para cada malla, es decir, recorro mallas y aplico su transformación, la del nodo asociado si lo hay y la del pivote del nodo si lo hay; acto seguido borro estas transformaciones para la siguiente malla (glPushMatrix()/glPopMatrix()). La traslación exacta que debo hacer con el pivote tampoco la tengo clara... teniendo en cuenta que los ejes de 3DStudio son distintos a los de OpenGL y me veo obligado a introducir las coordenadas de los vértices en otro orden y/o cambiarles el signo para que concuerde con las coordenadas de mundo en OpenGL. Ahora mismo tengo esta traslación:

Lib3dsObjectData *d;
d=&node->data.object;
glMultMatrixf(&node->matrix[0][0]);
glTranslatef(d->pivot[0], -d->pivot[1], d->pivot[2]);

simplemente porque es la que mejor resultado me ha dado colocando el modelo completo, pero tal vez no sea adecuada para la colocación de cada pieza...

Tengo entonces las dudas de... ¿exactamente cómo se debe usar el pivote? Y ¿hay alguna otra transformación que debería tener en cuenta para cada pieza?

Gracias de antemano y saludos.
Volver arriba
      Índice del Foro elrincondelc.com -> Gráficos
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com