Функция glLightModelf
Функция glLightModelf задает параметры модели освещения.
Синтаксис
void WINAPI glLightModelf(
GLenum pname,
GLfloat *param
);
Параметры
-
pname
-
Параметр модели освещения с одним значением. Принимаются следующие значения.
Значение Значение - GL_LIGHT_MODEL_LOCAL_VIEWER
Параметр param — это одно значение с плавающей запятой, указывающее, как вычисляются углы отражения. Если параметр имеет значение 0 (или 0,0), то углы отражения принимают направление просмотра параллельно и в направлении оси -z независимо от расположения вершины в координатах глаза. В противном случае зеркальные отражения вычисляются из источника системы координат глаз. Значение по умолчанию равно 0. - GL_LIGHT_MODEL_TWO_SIDE
Параметр param — это одно значение с плавающей запятой, указывающее, выполняются ли односторонние или двусторонние вычисления освещения для многоугольников. Он не влияет на расчет освещения точек, линий или растровых рисунков. Если параметр равен 0 (или 0,0), указывается односторонняя подсветка, и в уравнении освещения используются только параметры переднего материала. В противном случае указывается двустороннее освещение.
В этом случае вершины многоугольников, обращенных к задней стороне, освещаются с помощью параметров заднего материала, и их нормали переворачиваются до вычисления уравнения освещения. Вершины фронтовых многоугольников всегда освещаются с помощью параметров переднего материала без изменения их норм. Значение по умолчанию равно 0. -
param
-
Значение, для которого будет задан параметр .
Возвращаемое значение
Эта функция не возвращает значение.
Коды ошибок
Следующие коды ошибок могут быть получены функцией glGetError .
Имя | Значение |
---|---|
|
pname не является допустимым значением. |
|
Функция была вызвана между вызовом glBegin и соответствующим вызовом glEnd. |
Комментарии
Функция glLightModelf задает параметр модели освещения. Параметр pname присваивает имя параметру, а param присваивает новое значение или значения отдельных параметров источника света.
В режиме RGBA освещенный цвет вершины — это сумма интенсивности выбросов материала, произведение внешнего отражения материала и полной интенсивности освещения модели освещения, а также вклад каждого включенного источника света. Каждый источник света включает в себя сумму трех терминов: окружающая, диффузная и зеркальная.
- Вклад источника окружающего света — это результат отражания материала и интенсивности окружающего света.
- Вклад источника рассеянного света — это произведение диффузного отражения материала, диффузной интенсивности света и точечное произведение нормали вершины с нормализованным вектором от вершины к источнику света.
- Вклад источника отраженного света — это произведение отражений материала, интенсивность отражения света и точечное произведение нормализованных векторов вершины к глазу и вершины к свету, возведенных в силу блеска материала.
Все три значения источников света затухают одинаково на основе расстояния от вершины до источника света и направления источника света, степени распространения и угла спреда. Все точечные продукты заменяются нулем, если они оцениваются как отрицательное значение.
Альфа-компонент результирующего освещенного цвета устанавливается в альфа-значение диффузного отражения материала.
В режиме цветовых индексов значение освещенного индекса вершины находится в диапазоне от окружающих до зеркальных значений, передаваемых в glMaterial с помощью GL_COLOR_INDEXES. Рассеянный и зеркальный коэффициенты, вычисленные с помощью (.30, .59, .11) взвешенного веса цветов света, блеска материала, а также те же уравнения отражения и затухания, что и в случае RGBA, определяют, насколько выше окружающей среды результирующий индекс.
Следующие функции извлекают сведения, связанные с функцией glLightModelf :
glGet с GL_LIGHT_MODEL_LOCAL_VIEWER аргументов
glGet с аргументом GL_LIGHT_MODEL_TWO_SIDE
glIsEnabled с аргументом GL_LIGHTING
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера |
Windows 2000 Server [только классические приложения] |
Заголовок |
|
Библиотека |
|
DLL |
|