Bonjour,

Je suis débutant en OpenGL et j'ai un peu de mal à restituer le mouvement d'un objet dans un scene (qui sera éventuellement une caméra).

Pour cela, j'applique à l'objet des transformations multiples (rotations horizontale, et verticale, translations avant et arrière). Vu que l'ordre des transformations a une importance (une rotation horizontale puis une rotation verticale étant différent d'une rotation verticale puis une rotation horizontale), il faudrait que je puisse enregistrer la matrice de transformation appliqué à l'objet que je puisse ajouter la nouvelle matrice de transformation par la suite et ainsi de suite.

Concrètement, je dessine la scène dans la fonction display() que je place entre glPushMatrix() et glPopMatrix() afin d'isoler les transformations. Puis je place mon objet (un rectangle) sur lequel j'applique une translation pour positionner l'objet (où il se trouve après la dernière transformation), puis la nouvelle transformation (composé de translation et rotations) lors j'appuie sur les touches correspondant à ces transformations. Cependant, vu que j'applique une rotation horizontale et une autre verticale, ça pose problème. En effet, je dois respecter l'ordre dans lesquels ils ont été appliqués. Pour celà, je dois récupérer l'ancienne matrice de transformation pour celà, mais je en sais pas comment faire. Avec glPushMatrix()? ... comment faire? Faut-il utiliser une autre approche?

Je vous remercie d'avance pour votre aide.