Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Як визначити атрибути вершини в OpenGL?

Читайте также:
  1. Визначити рівень розвитку системи мотивації праці персоналу на досліджуваному підприємстві .
  2. Визначити чинники розвитку безпосередніх та віддалених негативних наслідків надзвичайної ситуації.
  3. Деление атрибутивных суждений по качеству и количеству
  4. И.Вершинин. А как началась ваша служба в армии?
  5. И.Вершинин. А сами непосредственно чем занимались?
  6. И.Вершинин. Для начала расскажите, Владимир Николаевич, о вашем предвоенном детстве. Где родились, где учились?
  7. И.Вершинин. Долго продолжали лечиться?

Цвет вершины

Для задания текущего цвета вершины используются команды

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?| Долина ужаса

mybiblioteka.su - 2015-2024 год. (0.005 сек.)