Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Исчточники света в OpenGL

5.6K
25 ноября 2003 года
king_wolf
2 / / 25.11.2003
Народ помогите плиз, может я чаго-то не догоняю..
Имеем следующий код:
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), то все работает нормально...
Как сделать так, чтобы положение источника всегда оставалось неизменным?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог