我有以下代码:
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt (0.0, 0.0, 10.0, 0.0, 0.0, 0.0, 0.0, 0.1, 20.0);
glRotatef ((GLfloat) 45, 0.0, 1.0, 0.0);
glRectf(-1,-1,1,1);
矩形将围绕y轴旋转。正如我的结果所示,它仍然是我窗口的中心。 但为什么呢?
据我所知,函数gluLookAt
修改了MODELVIEW矩阵并在内部发出了对glTranslate
的调用,那么上述glRotatef
调用的确切行为是什么?为什么旋转半径不是10? (10是传递给gluLookAt的第3个参数)
答案 0 :(得分:0)
当我看到你的代码时,我一直在寻找我的物体无法自动旋转的原因。在我的代码中,我在 glRotatef
之前添加了 gluLookAt
,这是与您的代码的唯一区别。我试图改变顺序,它开始自动旋转。尝试更改代码中两个函数的顺序,看看它的样子。我真的不知道原因。希望有人能解释一下。