如何在不使用gluLookAt的情况下在OpenGL中进行静态全局照明?

如何在不使用gluLookAt的情况下在OpenGL中进行静态全局照明?,opengl,Opengl,我目前正试图找出如何在不使用gluLookAt的情况下创建静态灯光。这意味着gluLookAt将保持其默认设置 我正在使用透视图 我使用glRotate和glTranslate根据我所观察的角度以及我所在位置的x、y、z位置移动所有内容 glRotatef(currentState.rot[0], 1.0f, 0.0f, 0.0f); // Rotate the camera on the x-axis (looking up and down) glRotatef(current

我目前正试图找出如何在不使用gluLookAt的情况下创建静态灯光。这意味着gluLookAt将保持其默认设置

我正在使用透视图

我使用glRotate和glTranslate根据我所观察的角度以及我所在位置的x、y、z位置移动所有内容

glRotatef(currentState.rot[0], 1.0f, 0.0f, 0.0f);        // Rotate the camera on the x-axis (looking up and down)
glRotatef(currentState.rot[1], 0.0f, 1.0f, 0.0f);        // Rotate the camera on the  y-axis (looking left and right)
glTranslatef(-currentState.pos[0], -currentState.pos[1], -currentState.pos[2]);    // Translate the modelview matrix to the position of the camera

我不知道如何处理这个问题。如果有人能给我一个方向,我将不胜感激。

所有以glu开头的函数都是完全多余的,可以用常规gl函数的组合来代替。例如,gluPerspective只不过是glFrustum的一个包装器,如果您查看手册页面或源代码,您可以确切地看到gluLookAt是如何实现的。好的,我将研究gluLookAt,看看它是如何工作的。但出于某种原因,每当我做照明,它总是以奇怪的结局结束。