Пользователь может определить до восьми источников света и определить их свойства, такие, как цвет, положение и направление. Для задания этих свойств служит процедура

void glLight{if}[v](GLenum light, GLenum pname, TYPE param );

Эта процедура задает параметры для источника света light, принимающего значения GL_LIGHT0, GLJLIGHT1.....GL_LIGHT7. Параметр pname

определяет характеристику источника света, которая задается последним параметром. Возможные значения для рпате приведены в табл. 4.4.

Таблица 4.4

Значение

Значение no умолчанию

Комментарий

GL_ AMBIENT (0,0,0,1)

Фоновая RGBA-ocвeщeннocть

GL.DIFFUSE (1.1,1.1)

Диффузная 1*СВА-освещенность

GLJ5PECULAR (1.1,1.1)

Бликовая (Фоига) RGBA-ocвeщeннocть

GL_POSITION (0,0,1,0)

(х, у, г, V/) позиция источника света

GL_SPOT_ DIRECTION (0,0,-1)

(х, у, г) направление для конических источников света

GL_SPOT_ EXPONENT

Показатель степени в формуле Фонга

GL_SPOT_ CUTOFF

Половина угла для конических источников света

GL_CONSTANT_ ATTENUATION

Отсутствует

Параметр Кг (ур-ние 4.4)

GL_LINEAR_ ATTENUATION

Отсутствует

Параметр К| (ур-ние 4.4)

GL_QUADRATIC_ ATTENUATION

Отсутствует

Параметр К, (ур-ние 4.4)

Замечание. Значения по умолчанию GL_DIFFUSE и GL_SPECULAR в таблице относятся только к источнику света GL_LIGHT0, для остальных источников света значение по умолчанию есть (0,0,0, 1).

Для использования источников света надо разрешить применение расчета освещенности командой

glEnable ( GL_LIGHTING );

и разрешить (включить) соответствующий источник света при помощи команды glEnable, например

glEnable ( GL_LIGHT0 );

Источник света можно рассматривать как имеющий вполне определенные координаты и светящий во всех направлениях или как направленный источник, находящийся в бесконечно удаленной точке и светящий в заданном направлении (д:, у, г).

Если параметр w в команде GL_POSITION равен нулю, то соответствующий источник света является направленным и светит в направлении (х, у, г). Если же w отлично от нуля, то это позиционный источник света, находящийся в точке с координатами (xAv, y/w, zAv).


⇐ Предыдущая| |Следующая ⇒