Функция glLightf
Функция glLightf возвращает значения параметров источника света.
void WINAPI glLightf(
GLenum light,
GLenum pname,
GLfloat param
);
-
light
-
Идентификатор индикатора. Количество возможных огней зависит от реализации, но поддерживается не менее восьми огней. Они идентифицируются символьными именами формы GL_LIGHT i, гдеi — это значение: от 0 до GL_MAX_LIGHTS – 1.
-
pname
-
Однозначный параметр источника света для света. Принимаются следующие символические имена.
Значение Значение - GL_SPOT_EXPONENT
Параметр param — это одно значение с плавающей запятой, указывающее распределение интенсивности света. Значения с плавающей запятой сопоставляются напрямую. Принимаются только значения в диапазоне [0, 128].
Эффективная интенсивность света затухает косинус угла между направлением света и направлением от света к освещенной вершине, поднятой в степень точечных экспонент. Таким образом, более высокие точечные экспоненты приводят к более ориентированному источнику света, независимо от угла отсечения пятна. Точечный экспонентой по умолчанию является 0, что приводит к равномерному распределению света.- GL_SPOT_CUTOFF
Параметр param — это одно значение с плавающей запятой, указывающее максимальный угол распространения источника света. Значения с плавающей запятой сопоставляются напрямую. Принимаются только значения в диапазоне [0, 90] и специальное значение 180.
Если угол между направлением света и направлением от света до освещенной вершины больше, чем угол среза пятна, то свет полностью маскируется. В противном случае его интенсивность контролируется точечным экспонентой и факторами затухания. По умолчанию точечный отрезок равен 180, что приводит к равномерному распределению света.- GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, GL_QUADRATIC_ATTENUATION
Параметр param — это одно значение с плавающей запятой, указывающее один из трех факторов затухания света. Значения с плавающей запятой сопоставляются напрямую. Принимаются только нерицательные значения.
Если свет является позициональным, а не направленным, его интенсивность затухается обратной суммой: константного коэффициента, линейного коэффициента, умноженного на расстояние между светом и освещенной вершиной, и квадратного коэффициента, умноженного на квадрат того же расстояния. Коэффициенты затухания по умолчанию : (1,0,0), что приводит к отсутствии затухания. -
param
-
Задает значение, которое будет задано параметру pnameисточника света.
Эта функция не возвращает значение.
Следующие коды ошибок могут быть получены функцией glGetError .
Имя | Значение |
---|---|
|
Значение light или pname не является допустимым. |
|
Значение точечных экспонент задается за пределами диапазона [0, 128], за пределами диапазона [0, 90] (за исключением специального значения 180) или указан отрицательный коэффициент затухания. |
|
Функция была вызвана между вызовом glBegin и соответствующим вызовом glEnd. |
Функция glLightf задает значение или значения отдельных параметров источника света. Параметр light присваивает свету имя и является символическим именем формы GL_LIGHTi, где 0 = i< GL_MAX_LIGHTS.
Параметр pname указывает один из параметров источника света, опять же символьным именем. Параметр param является либо одним значением, либо указателем на массив, содержащий новые значения.
Расчет освещения включается и отключается с помощью glEnable и glDisable с аргументом GL_LIGHTING. Если освещение включено, включенные источники света вносят свой вклад в вычисление освещения. Источник света i включен и отключен с помощью glEnable и glDisable с аргументом GL_LIGHTi.
Это всегда так, что GL_LIGHTi = GL_LIGHT0 + i.
Следующие функции извлекают сведения, связанные с функцией glLightf :
glIsEnabled с аргументом GL_LIGHTING
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера |
Windows 2000 Server [только классические приложения] |
Заголовок |
|
Библиотека |
|
DLL |
|