Поделиться через


Входные данные

Конвейер OpenGL требует ввода нескольких типов данных:

  • вершины. Вершины описывают форму требуемого геометрического объекта. Чтобы указать вершины, используйте функции glVertex* в сочетании с glBegin и glEnd для создания точки, линии или многоугольника. Вы также можете использовать glRect для описания всего прямоугольника одновременно.
  • флаг Edge. По умолчанию все края многоугольников являются краями границ. Используйте glEdgeFlag* для явного задания флага края.
  • текущее положение растра. Указана glRasterPos*, текущее положение растра используется для определения координат растра для операций рисования пикселей и растровых изображений.
  • Текущий обычный. Обычный вектор, связанный с определенной вершиной, определяет, как поверхность на этой вершине ориентирована в трехмерном пространстве; Это, в свою очередь, влияет на то, сколько света получает конкретный вершины. Используйте glNormal*, чтобы указать обычный вектор.
  • текущий цвет. Цвет вершины вместе с условиями освещения определите окончательный, освещенный цвет. Цвет указывается с glColor*, если в режиме RGBA или с glIndex*, если в режиме цветового индекса.
  • координаты текущей текстуры. Указанные с glTexCoord*, координаты текстур определяют расположение в карте текстур для связывания с вершиной объекта.

Заметка

При вызове glVertex* результирующая вершина наследует текущий флаг края, обычный, цвет и координаты текстуры. Таким образом, glEdgeFlag*, glNormal*, glColor*и glTexCoord* необходимо вызвать до glVertex*, если они должны повлиять на результирующий вершины.