OPENGL Two LoadIdentitys

OPENGL Two LoadIdentitys

本文关键字:LoadIdentitys Two OPENGL      更新时间:2023-10-16

当我做两个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传递给他们。