Synthèse d'Image - TD3 : 3D Scenes: View & Matrix Transformation
Introduction
Dans ce TD, nous allons apprendre à manipuler une scène 3D. Pour ce faire, un squelette de code vous est fourni.Taches à réaliser
Tout d'abord, téléchargez et décompressez le squelette de code, Le code correspond à une extension du code du TD2.Angle d'ouverture de la camèra
Nous nous interessons tout d'abord à l'angle d'ouverture de la caméra. Cette commande sera activer lors du clique du bouton du milieu de la souris. Changez la fonction mouse en conséquence. Nous voulons que la différence de déplacement en y s'ajoute à angle.Translation
Maintenant, essayons de nous translater dans la fenêtre. Cette commande sera activer lors du clique droit de la souris. Changez la fonction mouse en conséquence. De même que précedemment, la différence de déplacement correspond au vecteur de translation. Utilisez glTranslated(x, y, z), avec z=0.Rotation: Trackball
Nous savons maintenant nous translater, et zoomer sur l'objet. Il ne nous reste que la rotation, qui sera activer lors d'un clique gauche. Changez la fonction mouse en conséquence. La rotation s'effectue par la commande glRotated(angle, axe.x, axe.y, axe.z).L'axe et l'angle de rotation sont définies par deux positions: celui du début de parcours de la souris, et celui courant.