![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Освещение
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)