| |||||
| Dernière réponse | |
|---|---|
| Sujet : [open GL] je n'arrive pas à rester sur mon repère global fixe ! | |
| youdontcare | me souviens plus. si tu as une classe matrice, c'est plus simple ([:google2]).
modelview est la matrice appliquée à un objet pour le transformer dans le repère caméra. ensuite, il est projeté puis affiché. c'est beaucoup plus pratique sous directx car tu as une matrice pour l'objet et une matrice pour la caméra. tu peux noter ces matrices comme : localToWorld (passer du repère local au repère monde) worldToCamera (passer du repère monde au repère caméra) multiplier ces deux matrices te donnera "l'équivalent" opengl : localToWorld * worldToCamera = localToCamera = modelview. comme je n'ai toujours pas compris ce que tu veux faire, je ne sais pas trop comment t'aider. je pense que tu veux faire tourner l'objet sur lui-même, il faut alors changer la matrice localToWorld puis la multiplier par worldToCamera. par exemple si tu as une jolie classe matrice et que tu veux que l'objet tourne autour de lui-même : Matrix localToWorld; localToWorld.rotateX(angle); Matrix worldToCamera = computeCameraMatrix(); // l'équivalent de gluLookAt(); Matrix localToCamera = localToWorld * worldToCamera; glMatrixMode(modelview); glLoadMatrix(&localToCamera); tu devrais chercher un cours sur les repères ou regarder l'aide de directx. à la base c'est pas très compliqué, mais ça peut être dur à digérer. |
| Vue Rapide de la discussion |
|---|