我有以下代码:
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的第三个参数)
发布于 2014-03-29 14:20:59
当我看到你的代码时,我正在寻找为什么我的对象不能自旋转的原因。在我的代码中,我将glRotatef放在gluLookAt,之前,这是与您的代码唯一的区别。我试着改变顺序,它开始自动旋转。尝试更改代码中两个函数的顺序,看看它是什么样子。我真的不知道原因。希望有人能解释一下。
https://stackoverflow.com/questions/21843205
复制相似问题