| ||||
Voici la raison pour laquelle nous avons fait du C++ et pas du C, non que c'est impossible à faire en C, mais c'est que c'est plus difficile (et d'ailleurs nous le ferons un peu plus tard). Heu, ben, je ne sais pas ce que c'est. Oups, une explication s'impose alors... Avec OpenGl 3 nous manipulons des matrices :
Ce dernier point est gourmand en calcul, pour chaque objet à placer vous avez un changement de repère à faire. Pour modifier votre repère vous devez créer une matrice de rotation pour de translation, multiplier la matrice modelview par elle (et non l'inverse), et votre repère sera changer. Pour modifier votre repère vous avez fait autant de multiplication de matrices que de modifications de votre repère, si vous voulez re-décaler votre repère à un endroit ou il était précédemment vous n'allez pas refaire des multiplications à l'envers, ça prendrait trop de temps, la solution est de sauvegarder le repère avant de faire la modification, puis de revenir à la valeur de la matrice que l'on à sauvegarder, ce qui gagne énormément de temps. C'est pour cela que nous allons faire ces trois petites fonctions, qui nous serons très utile plus tard :
Ajoutons les à la classe :
Vous comprendrez mieux quand on écrira ces fonctions. | ||||
|