【发布时间】:2014-08-24 09:52:53
【问题描述】:
我想以滚动俯仰偏航方式旋转一个 3d 对象。 我将对象的姿态存储在一个矩阵中,并执行滚动、俯仰和偏航旋转,将姿态矩阵乘以关于 x、y 或 z 轴的标准旋转矩阵之一。
然后我使用这些代码行显示它。
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
gluLookAt(-5, 5, 2, 0, 0, 0, 0, 1, 0);
glPushMatrix();
ship.Draw();
glPopMatrix();
glutSwapBuffers();
}
void Spacecraft::Draw(){
glMultMatrixf(pose);
model.Draw();
return;
}
它可以工作,但是对象,而不是围绕自己的轴旋转,而是围绕世界轴旋转...... 我哪里错了?
【问题讨论】: