尝试掌握灯光并阅读 OpenGL Superbible 书籍。以下是我目前用于照明的内容。它位于 SetupRC 函数中。
照明主要按照我预期的位置等工作,但我很困惑为什么当我转动相机时,它在以前较暗的地方变得更亮。我没有移动相机位置,但灯光仍然移动。
为什么是这样?这里有点困惑。
GLfloat ambient[] = { 0.7f, 0.7f, 0.7f, 0.5f };
GLfloat diffuse[] = { 1.0, 1.0f, 1.0f, 1.0f };
glEnable(GL_LIGHTING);
glLightfv(GL_LIGHT0, GL_AMBIENT, ambient);
glLightfv(GL_LIGHT0, GL_DIFFUSE, diffuse);
glEnable(GL_LIGHT0);
GLfloat ambientLight[] = {1.0f, 0.0f, 1.0f, 0.5f};
glLightModelfv(GL_LIGHT_MODEL_AMBIENT, ambientLight);
glEnable(GL_COLOR_MATERIAL);
glColorMaterial(GL_FRONT, GL_AMBIENT_AND_DIFFUSE); //GL_AMBIENT_AND_DIFFUSE