Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Освещение


McSource ©   (2005-08-21 13:18:00) 

Здравствуйте уважаемые мастера! Я недавно начал изучать OGL и столкнулся с такой проблемой: камера двигается по сцене с помощью glTranslate и glRotate, при движении и вращении камеры меняется освещенность объектов. Как мне заставить источник света оставаться в одном положении относительно сцены? Заранее благодарен.


A22   (2005-08-23 10:46:00) [1]

источник света типа point имеет радиус действия


ViK   (2005-08-23 10:30:00) [2]


> [5] DR0N ©   (22.08.05 19:58)

Можно задавать коэффициенты ослабевания света
GL_CONSTANT_ATTENUATION
GL_LINEAR_ATTENUATION
GL_QUADRATIC_ATTENUATION


DR0N   (2005-08-22 19:58:00) [3]

Хотел в теме вот че спросить, можно ли ограничивать радиус света дефолтовым жловским лампочкам?


XProger   (2005-08-21 17:22:00) [4]


procedure glLight_Pos(ID: integer; Pos: TVector);
var
p : array [0..3] of single;
begin
p[0] := Pos.X;
p[1] := Pos.Y;
p[2] := Pos.Z;
p[3] := 1;
glLightfv(ID, GL_POSITION, @p);
end;
...
glLight_Pos(GL_LIGHT0, Pos);

Вызывать после установки матрицы вида (камеры)


NE_Parovoz   (2005-08-21 15:38:00) [5]

задавать позицию источника там где идёт отрисовка сцены
чтобы modelwiev матрица была та/же


McSource   (2005-08-21 15:03:00) [6]

>>
В процедуре рендера перед отрисовкой сцены делаешь:
glDisable(GL_LIGHTING)
после отрисовки
glEnable(GL_LIGHTING)
<<

Мне нужно чтобы источник света перемещался вместе со сценой а не отключался вообще...


VitGun   (2005-08-21 13:53:00) [7]

ИМХО

В процедуре рендера перед отрисовкой сцены делаешь:
glDisable(GL_LIGHTING)
после отрисовки
glEnable(GL_LIGHTING)


Наверх

Титульная страница Поиск, карта сайта Написать письмо