私のプロジェクトの単純なバージョンは、ユーザー入力に基づいて球を回転させています。
ただし、openGLのローカル座標系が原因で、特定の状況で複数回回転すると、回転がおかしくなります。私が本当に必要としているのは、ワールド/固定座標系に基づいて回転することです。球を一度回転させると、その回転軸も回転しないようになります。この問題については、 http: //www.opengl.org/resources/faq/technical/transformations.htm(9.070)で説明されています。
私はそれをすべて理解しています。しかし、彼らが提案するものを設定することは、私のスキルレベルを少し超えています。誰かがこれを経験したことがありますか?ここで見つけたコードhttp://chaosengineer.com/?cat=19を使用してみましたが、うまくいきませんでした。
これが私が使用している基本的なコードです。
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();