当我做两个glLoadIdentity()时,
它看起来像它的2d:
glMatrixMode(GL_PROJECTION_MATRIX);
glLoadIdentity();
gluPerspective( 90, (double)windowWidth / (double)windowHeight, 0.1, 100 );
glMatrixMode(GL_MODELVIEW_MATRIX);
glLoadIdentity();
Camera.Render(); // (gluLookAt)
但是,当我移除最后一个时,它可以工作,但是灯光似乎随着相机的移动而移动:
glMatrixMode(GL_PROJECTION_MATRIX);
glLoadIdentity();
gluPerspective( 90, (double)windowWidth / (double)windowHeight, 0.1, 100 );
glMatrixMode(GL_MODELVIEW_MATRIX);
Camera.Render(); // (gluLookAt)
最佳答案
您正在将无效的参数传递给glMatrixMode
。
尝试将GL_PROJECTION
/ GL_MODELVIEW
而不是GL_PROJECTION_MATRIX
/ GL_MODELVIEW_MATRIX
传递给他们。