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



我有以下代码:

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

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

相关内容

  • 没有找到相关文章

最新更新