Foros - Stratos

Programadores => Programación gráfica => Mensaje iniciado por: ProD en 22 de Diciembre de 2004, 01:07:41 PM

Título: Problemas Con Matrices
Publicado por: ProD en 22 de Diciembre de 2004, 01:07:41 PM
 Buenas a todos, tengo un problemilla al pasar una matriz de opengl a direct3d
el problema lo tengo con los ángulos de rotación, es decir, si por ejemplo, en la matriz de
opengl tengo una rotación en el eje x en direct3d obtengo esa misma rotación pero en sentido
contrario!! alguien me podría echar una mano o decirme de algún link que trate el tema?
gracias.
Título: Problemas Con Matrices
Publicado por: BeRSeRKeR en 22 de Diciembre de 2004, 01:29:11 PM
 Hey ProD.

Creo que para pasar de un sistema right-handed como el de OpenGL a uno left-handed como el de Direct3D tienes que negar la tercera fila (que no estoy seguro pero en OpenGL sería la tercera columna) de la matriz. Aunque lo cierto es que no sé si habrá que hacer algo más. Yo en el exporter de MAX, para las cámaras (que tienen el eje Z apuntando para fuera de la pantalla) hago una conversión tal como:

y = m.row1.y
m.row1.y = m.row1.z
m.row1.z = y

y = m.row2.y
m.row2.y = m.row2.z
m.row2.z = y

y = m.row3.y
m.row3.y = m.row3.z
m.row3.z = y

m.row3 = -m.row3


Saludos.
Título: Problemas Con Matrices
Publicado por: ProD en 22 de Diciembre de 2004, 03:38:49 PM
 Hey berserker cuanto tiempo no? jaja aunque veo que vas viento en popa con el engine que estás montando con hadd, bueno al tema. Um... digamos que la matriz de direct3d ya la tengo, lo único que me ocurre es que el sentido de las rotaciones se realiza al revés sabes de algún método para corregir esto?
Creo que voy a explicarme un poco mejor... estoy haciendo un simulador de coche... y utilizo un paquete de físicas parecido al havock que se llama meqon, entonces yo consiguo la matriz de orientación del sólido (en este caso el coche) paso esta matriz a la representación de direct3d y todo va bien... excepto el sentido de los ángulos que en la representación de meqon van en sentido contrario a la de direct3d, lo mismo no he transformado correctamente la matriz, pero me extraña porque consigo orientar correctamente el coche. Alguna idea? gracias.