Таблица 4.5

Значение

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

Комментарий

GL.AMBIENT (0.2, Ô.2,0.2,1.0)

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

GL_DIFFUSE (0.8,0.8,0.8,1.0)

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

GL_AMBIENT_ AND.DIFFUSE

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

GL.SPECULAR (0,0,0,1)

Цвет бликов

GL_SHININESS

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

GL_EMISSION (0,0,0,1)

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

Итоговый цвет вычисляется по следующей формуле: Color = E+IaKa + y\Si---fx

x[laiKa+m^{(l,n),Q}lAKd +(max{(M),0})'' 1ЛК,\ v 1 (4.4)

где Е - собственная светимость материала (ОЬ_ЕМ1551СЖ); 1а - глобальная фоновая освещенность; Ка - фоновый цвет материала (СЬ_АМВ1Е№*); Я, - член, отвечающий за ослабление света в силу того, что источник имеет коническую направленность; он принимает следующие значения:

1, если источник не конический;

0, если источник конический и вершина лежит вне конуса освещенности,

(тах{(у,/),0})\

где

v - единичный вектор от источника света к вершине;

/ - единичный вектор направления для источника света (СЬ_5РОТ_ОЖЕСТ1(Ж); е - коэффициент СЬ_8РОТ_ЕХР(ЖЕг>ПГ; кс - коэффициент ^№ТАЖ_АТТЕШАТНЖ; к, - коэффициент СЕ_ЕтЕАК_АТТЕШАТ1(Ж; сі - расстояние до источника света; *, - коэффициент ОЬ_диАВаАТ1С_АТТЕКиАТЮМ;

1ы - фоновая освещенность от і-го источника света;

I - единичный вектор направления на источник света; п - единичный вектор нормали;

1а - диффузная освещенность от і-го источника света; Кл - диффузный цвет (ОГ^иРШЕ); р - коэффициент Фонга (С^ЗНШШЕЗЗ);

/гі - бликовая освещенность от і-го источника света; К5 - цвет бликов (ОЬ_8РЕСиЬАК).

После проведения всех вычислений, цветовые компоненты отсекаются по отрезку [0, 1].

Основы библиотеки OpenGL

Замечание. Расчет освещенности в OpenGL не учитывает затенения одних объектов другими.

Ниже приводится пример использования освещенности в OpenGL.

ю| . . 1

am.'
void init () {
glClearColor ( 0.0, 0.0, 0.0, 1.0 ); glEnable ( GL_DEPTH_TEST );
glShadeModel ( GL_FLAT );

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