WarDrone Eeny, meeny, miny, moe. | J'aimerais pouvoir bouger un objet à l'aide de rotation sur les 3 axes.
Ce code ne fonctionne pas comme je le veux :
Code :
- glRotatef(rotX, 1, 0, 0)
- glRotatef(rotY, 0, 1, 0)
- glRotatef(rotZ, 0, 0, 1)
|
(On imagine que les variables rotX, rotY, rotZ changent en fonction des coordonnées de la souris)
Le problème est que la deuxième rotation se fait par rapport au repère modifié par la première, et non par rapport au repère absolu (ce qui est normal en ogl). Il en ai de même pour la 3eme.
Existe t'il un moyen de combiner les 3 rotations en une seule pour qu'elle s'applique au repère de base? Il y a t'il une autre solution?
(Je ne parle pas de Gimbal Lock, d'ailleurs je compte utiliser des Quaternions, j'ai implémenté la classe, mais j'aimerais résoudre ce problème tout d'abord) |