Исчточники света в OpenGL
Имеем следующий код:
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
GLfloat light_position[] = { 0.0, 0.0, 1.0,0.0 };
glLightfv(GL_LIGHT0, GL_POSITION, light_position);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0,float(width()),0,float(height()),1000.0,-1000.0);
>>>
glMatrixMode(GL_MODELVIEW);
......
Затем а программе неоднократно вызывается следующий код :
glMatrixMode(GL_MODELVIEW);
glRotatef(angle,1.0,0,0);
все объекты вращаются нормально и итсочник света остается на месте, т. к мы его задали до преобразований... Но есди добавить код(в месте, указанном как ">>>"):
glRotate(180.0,1.0,0,0)
То, источник света тоже разворачивается....Почему преобразование матрицы проектирование влияют на положение источника? Если добавить это строчку, полсе
glMatrixMode(GL_MODELVIEW), то все работает нормально...
Как сделать так, чтобы положение источника всегда оставалось неизменным?