gluLookAt对glRotate / glTranslate / glScale有影响吗?

时间:2014-02-18 02:26:39

标签: opengl glulookat

我有以下代码:

    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个参数)

1 个答案:

答案 0 :(得分:0)

当我看到你的代码时,我一直在寻找我的物体无法自动旋转的原因。在我的代码中,我在 glRotatef 之前添加了 gluLookAt ,这是与您的代码的唯一区别。我试图改变顺序,它开始自动旋转。尝试更改代码中两个函数的顺序,看看它的样子。我真的不知道原因。希望有人能解释一下。