我的项目的简单版本是根据用户输入旋转球体。
然而,由于 openGL 的本地坐标系,在某些情况下多次旋转后我的旋转会变得很奇怪。我真正需要的是基于世界/固定坐标系旋转。这样当我旋转球体时,一旦它的旋转轴也没有旋转。这个问题在http://www.opengl.org/resources/faq/technical/transformations.htm at 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();