Таблица 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 );