Transformations
Sans Caméra
Dans le code C++ de l’application, à l’initialisation:
- Charger et compiler les shaders (glmlv::compileProgram)
 - Récupérer les locations des variables uniform
 - Appeler .use() sur le programme GLSL compilé
 
Au rendu:
- Construire une matrice projection, une matrice view et deux matrices model (une pour le cube et une pour la sphere)
 - Envoyez les combinaisons de ces matrices dans les uniform correspondante avant le rendu de chaque objet
 
A ce stade, vous devriez avoir un rendu correct de vos objets si vous vous arrangez pour bien construire les matrices (ne pas oublier qu’OpenGL “voit” du coté négatif de l’axe Z de l’espace view).
Fonctions glm à utiliser (header glm/gtc/matrix_transform.hpp):
- perspective
 - translate
 - rotate
 - scale
 - lookAt
 - inverse et transpose (pour construire la normal matrix)
 
Fonctions OpenGL à utiliser:
A l’initialisation:
- glGetUniformLocation
 
Au rendu:
- glUniformMatrix4fv
 
Aide: TD de l’année précédente
Avec Caméra
Utiliser la classe ViewController de glmlv afin de construire une view matrix qui se controle en mode FPS.