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.