Читайте также:
|
|
Цвет вершины
Для задания текущего цвета вершины используются команды
void glColor[3 4][b s i f](GLtype components) void glColor[3 4][b s i f]v(GLtype components) |
Первые три параметра задают R, G, B компоненты цвета, а последний параметр определяет alpha-компоненту, которая задает уровень прозрачности объекта. Если в названии команды указан тип ‘f’ (float), то значения всех параметров должны принадлежать отрезку [0,1], при этом по умолчанию значение alpha-компоненты устанавливается равным 1.0, что соответствует полной непрозрачности. Если указан тип ‘ub’ (unsigned byte), то значения должны лежать в отрезке [0,255].
Разным вершинам можно назначать различные цвета, и тогда будет проводиться линейная интерполяция цветов по поверхности примитива.
Для управления режимом интерполяции цветов используется команда
void glShadeModel(GLenum mode) |
вызов которой с параметром GL_SMOOTH включает интерполяцию (установка по умолчанию), а с GL_FLAT – отключает.
Нормаль
Аналогичным образом можно определить нормаль в вершине, используя команды
void glNormal3[b s i f d](type coords) void glNormal3[b s i f d]v(type coords) |
Задаваемый вектор может не иметь единичной длины, но он будет нормироваться автоматически в режиме нормализации, который включается вызовом команды glEnable(GL_NORMALIZE). Команды
void glEnable(GLenum mode) void glDisable(GLenum mode) |
производят включение и отключение того или иного режима работы конвейера OpenGL. Эти команды применяются достаточно часто, и их влияние будет рассматриваться в конкретных случаях.
ПРИМЕЧАНИЕ Включение режима GL_NORMALIZE негативно влияет на скорость работы механизма визуализации OpenGL. В силу этого более предпочтительным является задание заранее приведенных к единичной длине нормалей. Нормализация нормалей необходима для правильного расчета освещения. Режим автоматической нормализации должен быть включен, если приложением используется преобразования растяжения/сжатия, поскольку в этом случае длина нормалей изменяется при умножении на видовую матрицу. |
Як визначається джерела світла в OpenGL?
В дополнение к определению цвета и нормальных векторов, вы можете определить требуемые условия освещения с glLight * () иglLightModel * (), и желаемый свойств материала с glMaterial * (). Похожие команды можно использовать для управления освещением расчеты производятся включают glShadeModel (), glFrontFace (), и glColorMaterial ().
Дата добавления: 2015-10-13; просмотров: 66 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Як і для чого використовують операторні дужки Begin/End в OpenGL? | | | Долина ужаса |