La version simple de mon projet consiste à faire pivoter une sphère en fonction de l'entrée de l'utilisateur.Implémentation d'un système de coordonnées fixes dans OpenGL
Cependant, mes rotations deviennent bizarres après plusieurs rotations dans certaines situations en raison du système de coordonnées local d'openGL. Ce dont j'ai vraiment besoin, c'est de tourner en fonction d'un système de coordonnées mondial/fixe. Telle que lorsque je fais tourner la sphère une fois que ses axes de rotation ne sont pas aussi bien tournés. Ce problème est expliqué ici http://www.opengl.org/resources/faq/technical/transformations.htm à 9.070.
Je comprends tout cela. Cependant mettre en place ce qu'ils suggèrent est un peu au-delà de mon niveau de compétence. Est-ce que quelqu'un a de l'expérience avec ça? J'ai essayé d'utiliser un code que j'ai trouvé ici http: // chaosengineer.com/?cat=19 mais n'avait pas de chance.
Voici le code de base que j'utilise.
glPushMatrix();
//draw in middle of the screen
glTranslatef(ofGetWidth()/2,ofGetHeight()/2,0);
glRotatef(xRot,1,0,0);
glRotatef(zRot,0,0,1);
glTranslatef(-ofGetWidth()/2,-ofGetHeight()/2,0);
ofSetColor(255, 255, 255, 255);
squirrelModel.draw();
glPopMatrix();