Функция glMaterialiv
Функция glMaterialiv задает параметры материала для модели освещения.
Синтаксис
void WINAPI glMaterialfv(
GLenum face,
GLenum pname,
const GLint *params
);
Параметры
-
Лицо
-
Лицо или лица, которые обновляются. Должен иметь одно из следующих значений: GL_FRONT, GL_BACK или GL_FRONT и GL_BACK.
-
pname
-
Параметр материала обновляемого лица или лиц. Параметры, которые можно указать с помощью glMaterialiv и их интерпретации уравнением освещения, приведены ниже.
Значение Значение - GL_AMBIENT
Параметр params содержит четыре целочисленных значения, определяющие внешний отражатель RGBA материала. Целочисленные значения сопоставляются линейно таким образом, что наиболее положительное представляемое значение сопоставляется с 1,0, а наиболее отрицательное из них — с -1,0. Значения с плавающей запятой сопоставляются напрямую. Ни целочисленные, ни значения с плавающей запятой не зажимаются. По умолчанию для материалов с передней и задней стороны используется отражание окружающей среды (0,2, 0,2, 0,2, 1,0). - GL_DIFFUSE
Параметр params содержит четыре целочисленных значения, определяющие диффузное отражение RGBA материала. Целочисленные значения сопоставляются линейно таким образом, что наиболее положительное представляемое значение сопоставляется с 1,0, а наиболее отрицательное из них — с -1,0. Значения с плавающей запятой сопоставляются напрямую. Ни целочисленные, ни значения с плавающей запятой не зажимаются. Диффузное отражение по умолчанию для материалов передней и задней сторон составляет (0,8, 0,8, 0,8, 1,0). - GL_SPECULAR
Параметр params содержит четыре целочисленных значения, определяющие зеркальное отражение RGBA материала. Целочисленные значения сопоставляются линейно таким образом, что наиболее положительное представляемое значение сопоставляется с 1,0, а наиболее отрицательное из них — с -1,0. Значения с плавающей запятой сопоставляются напрямую. Ни целочисленные, ни значения с плавающей запятой не зажимаются. Зеркальное отражение по умолчанию для материалов передней и задней сторон составляет (0,0, 0,0, 0,0, 1,0). - GL_EMISSION
Параметр params содержит четыре целочисленных значения, определяющие интенсивность света, излучаемую RGBA материала. Целочисленные значения сопоставляются линейно таким образом, что наиболее положительное представляемое значение сопоставляется с 1,0, а наиболее отрицательное из них — с -1,0. Значения с плавающей запятой сопоставляются напрямую. Ни целочисленные, ни значения с плавающей запятой не зажимаются. Интенсивность выбросов по умолчанию для материалов передней и задней сторон составляет (0,0, 0,0, 0,0, 1,0). - GL_SHININESS
Параметр param — это одно целое число, указывающее спектрическую экспоненту RGBA материала. Целочисленные значения сопоставляются напрямую. Принимаются только значения в диапазоне [0, 128]. Показатель по умолчанию для материалов передней и задней сторон составляет 0. - GL_AMBIENT_AND_DIFFUSE
Эквивалентно вызову glMaterial дважды с одинаковыми значениями параметров: один раз с GL_AMBIENT и один раз с GL_DIFFUSE. - GL_COLOR_INDEXES
Параметр params содержит три целочисленных значения, определяющие индексы цвета для внешнего, диффузного и зеркального освещения. Эти три значения и GL_SHININESS являются единственными материальными значениями, используемыми уравнением освещения режима цветного индекса. Сведения об освещении по цветовым индексам см. в статье glLightModel . -
params
-
Значение, для которого будет задан GL_SHININESS параметра.
Возвращаемое значение
Эта функция не возвращает значение.
Коды ошибок
Следующие коды ошибок могут быть получены функцией glGetError .
Имя | Значение |
---|---|
|
Лицо илиpname не было принятым значением. |
|
Указана зеркальная экспонента за пределами диапазона [0, 128]. |
Комментарии
Функция glMaterialiv присваивает значения параметрам материала. Существует два сопоставленных набора параметров материала. Один из них, передний набор, используется для затенений точек, линий, растровых изображений и всех многоугольников (если двустороннее освещение отключено) или только фронтовых многоугольников (если включено двустороннее освещение). Другой набор, обращенный назад, используется для затенений многоугольников, обращенных к задней стороне, только если включено двустороннее освещение. Дополнительные сведения об односторонних и двусторонних вычислениях освещения см. в статье glLightModel .
Функция glMaterialiv принимает три аргумента. Первый, face, указывает, будут ли изменены GL_FRONT материалы, GL_BACK материалы или оба GL_FRONT_AND_BACK материала. Второй , pname, указывает, какие из нескольких параметров в одном или обоих наборах будут изменены. Третий параметр указывает, какое значение будет присвоено указанному параметру.
Параметры материала используются в уравнении освещения, которое при необходимости применяется к каждой вершине. Уравнение рассматривается в glLightModel.
Параметры материала можно обновить в любое время. В частности, glMaterialiv можно вызывать между вызовом glBegin и соответствующим вызовом glEnd. Однако если требуется изменить только один параметр материала для каждой вершины, предпочтительнее glColorMaterial по сравнению с glMaterialiv.
Следующая функция извлекает сведения, связанные с glMaterialiv:
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера |
Windows 2000 Server [только классические приложения] |
Заголовок |
|
Библиотека |
|
DLL |
|