Hola a todos!
He empezado un motorcillo simple en OpenGL con la intencion de ir desarrollando paralelamente el port para DirectX. Ya tengo lo basico de los dos en funcionamiento pero tengo un problema: Los ejes :(
Me he encontrado que en Direct3D las X van hacia el lado opuesto que en OpenGL. Y me parece recordar que lei en los tutoriales de Berserker ( que por cierto, no me acuerdo de la pagina, alguien la tiene? :( ) que las Z tambien van al lado opuesto.
Alguien se ha encontrado con este problema? Que puedo hacer para transformar el sistema coordenadas de Direct3D en uno igual que al de GL?
Muchas gracias :(
Un saludo!
La Z y la X van en la dirección negativa
Quizas utilizas D3DXMatrixPerspectiveFovLH() para crear la matriz de proyeccion, si usas D3DXMatrixPerspectiveFovRH() crearas una basada en el systema de coordenadas de "mano derecha" que es el que usa openGL, en lugar de la de "mano izquierda" que es la "tipica"(o mejor dicho, por defecto) de Direct3D.
Por cierto, que yo sepa solo cambia la orientacion de la Z.
Saludos.
P.D.: Existen mas instrucciones comparables a esta analogia como:
D3DXMatrixOrthoLH
D3DXMatrixOrthoRH
D3DXMatrixOrthoOffCenterRH
D3DXMatrixOrthoOffCenterLH
D3DXMatrixPerspectiveFovLH
D3DXMatrixPerspectiveRH
D3DXMatrixPerspectiveLH
D3DXMatrixPerspectiveFovRH
D3DXMatrixPerspectiveOffCenterRH
D3DXMatrixPerspectiveOffCenterLH
Las terminadas en LH(Left-Hand) son para sistemas de "mano izquierda" y las terminadas en RH(Right-Hand) son para sistemas de "mano derecha".
uoooooooooooh!!
Muchas gracias gente : ) Esta misma noche lo pruebo.
Graciaaaaaaaaas :´))))
Kisses kisses :bbb
Ups. Es cierto, sólo la Z