Matrices OpenGL/DirectX

CyberP Messages postés 283 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 4 juillet 2007 - 22 juil. 2005 à 15:55
CyberP Messages postés 283 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 4 juillet 2007 - 23 juil. 2005 à 19:55
Cette question concerne en même temps OpenGL et DirectX...

Voilà je programme un moteur 3D permettant de choisir entre OpenGL et DirectX, sauf que pour harmoniser le tout j'ai créé ma propre classe de matrices qui fait les mêmes opérations que DirectX pour les matrices de perspective (D3DXMatrixPerspectiveFovLH) et de "lookat" (D3DXMatrixLookAtLH) d'après ce que j'ai trouvé sur le MSDN.

Sauf que depuis, la partie OpenGL ne marche plus... Au lieu d'afficher un cube, il y a des rectangles qui se baladent un peu partout sur l'écran. En regardant un peu sur internet j'ai trouvé le code de la matrice de perspective utilisé par OpenGL (avec gluPerspective) et il est différent de celui de DirectX (par exemple au lieu de zNear - zFar c'est zFar - zNear, donc ça ne peut pas être équivalent)
Je voudrais savoir si le calcul avec OpenGL et DirectX pouvait être différent (en théorie non) ou si ça ne pouvait venir que d'une erreur autre part dans mon code pour OpenGL (parce que j'ai fait d'autres modifications en même temps)

2 réponses

Galmiza Messages postés 573 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 9 avril 2008 1
23 juil. 2005 à 15:47
Essaye de transposer la matrice de DirectX avant de l'utiliser (et
après aussi pour la remettre à l'"endroit" si tu ne recalcules
pas par la suite).
0
CyberP Messages postés 283 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 4 juillet 2007 2
23 juil. 2005 à 19:55
Je ne sais pas pourquoi ça ne marche pas

A mon avis ça doit être mon script qui a un problème. Je n'ai pas vu
les matrices en cours donc je ne sais pas tout à fait comment faire
toutes les opérations... donc je dois avoir des erreurs de calculs



Sinon je viens de modifier le code et j'ai séparé les matrices opengl et directx, donc plus de problèmes



Merci quand même

CyberP,
Celui qui dit que toute question a une réponse
0
Rejoignez-nous