0

我有以下代码:

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

4

1 回答 1

0

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

于 2014-03-29T06:20:58.993 回答