Глобальное фоновое освещение можно задать при помощи команды glLightModel{if}v ( GL_LIGHT_MODEL_AMBIENT, ambientColor); Местонахождение наблюдателя оказывает влияние на блики на объектах. По умолчанию при расчетах освещенности считается, что наблюдатель находится в бесконечно удаленной точке, т. е. направление на наблюдателя постоянно для любой вершины. Можно Включить более реалистиче.ское освещение, когда направление на наблюдателя будет вычисляться для каждой вершины отдельно; для этого служит команда

gILightModeli (GL_LIGHT_MODEL_LOCAL_VIEWER, GL_TRUE );

Для задания освещения как лицевых, так и нелицевых граней (для нелицевых граней вектор нормали переворачивается) служит следующая команда: gILightModeli (GL_LIGHT_MODEL_TWO_SIDE, GL_TRUE ); Причем существует возможность отдельного задания свойств материала для каждой из сторон.

Свойства материала, из которого сделан объект, задаются при помощи процедуры void glMaterial{if}[v] (GLenum face, GLenum pname, TYPE param ); Параметр face указывает, для какой из сторон грани задается свойство, и принимает одно из следующих значений: GLBACK, GLFRONTANDBACK, GL FRONT.

Компьютерная графика. Полигональные модели Параметр рпате указывает, какое именно свойство материала задается. Возможные значения представлены в таблице.

Значение

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

Комментарий

GL_AMBIENT (0.2,0.2, 0.2, 1.0)

Фоновый цвет материала

GLDIFFUSE (0.8,0.8, 0.8, 1.0)

Диффузный цвет материала

GL_AMBIENT_AND_DIFFUSE

фоновый и диффузный цвета материала

GLSPECULAR (0, 0, 0,1)

Цвет бликов

GL_SHININESS

Коэффициент Фонга для бликов

GL_EMISSION (0, 0, 0,1)

Цвет свечения материала

Итоговый цвет вычисляется по следующей формуле:

Color = E + IaKa+2ZSi-j х

кс Л-kid + kqd

((aiKa+m2Oi{{l9n\0}ldiKd +{max{{h9n\0})pIsiKs)

где

E - собственная светимость материала (GLJEMISSION);

la - глобальная фоновая освещенность; Ка - фоновый цвет материала (GL_AMBIENT);

Sf- коэффициент, отвечающий за ослабление света в силу того, что источник имеет коническую направленность, и принимающий следующие значения: 1, если источник не конический,


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