При просмотре примеров изменения формы в Красной книге я обычно нахожу что-то вроде:
void reshape(int w, int h)
{
glViewport(0, 0, (GLsizei) w, (GLsizei) h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glFrustum(-1.0, 1.0, -1.0, 1.0, 1.5, 20.0);
glMatrixMode(GL_MODELVIEW);
}
Я понимаю, что вызов glMatrixMode(GL_PROJECTION);
с последующим glLoadIdentity();
сбрасывает матрицу проекции, но я не понимаюпочему glMatrixMode(GL_MODELVIEW)
обычно вызывается в конце изменения формы.
В этом конкретном примере glFrustum
влияет на матрицу проекции, верно?Почему GL_MODELVIEW
вызывается позже?Будет ли иметь значение, если последний вызов glMatrixMode(GL_MODELVIEW)
опущен?