Описание фигур

Описание фигур, который будут нарисованы в контейнере OpenGL ES, это первый шаг к созданию вашего высококлассного шедевра. Рисование в OpenGL ES может быть немного сложным, если не знать базовых вещей об описании фигур.

В уроке рассматривается система относительных координат OpenGL ES, описание базовых фигур, лицевая сторона фигур, а также определение треугольника и квадрата.

Описание треугольника

OpenGL ES позволяет описывать фигуры, используя координатную систему в трех плоскостях. Прежде чем нарисовать треугольник, необходимо описать его координаты. Типичным способ сделать это в OpenGL является описание массива вершин – чисел с плавающей точкой, задающих точки на плоскости. Для максимальной эффективности используйте объект типа ByteBuffer, который передается в графический контейнер OpenGL для обработки.

По умолчанию OpenGL предполагает, что начало координат (X;Y;Z) = (0;0;0) находится в центре контейнера GLSurfaceView, (1;1;0) – это верхний правый угол контейнера, а (-1;-1;0) – нижний левый угол. Иллюстрацию координатной системы смотрите в разделе OpenGL ES.

Не забывайте, что координаты фигуры заданы против часовой стрелки. Порядок очень важен, поскольку это определяет лицевую сторону фигуры, которую вы обычно хотите нарисовать, и заднюю сторону фигуры, которая обычно остается “за кадром”. Подробнее в руководстве по API OpenGL.

Описание квадрата

Описание треугольника это очень просто в OpenGL, но что, если вы хотите получить что-то чуточку сложнее? Скажем квадрат. Есть несколько способов это сделать, но обычно для рисования этой фигуры в OpenGL используют два треугольника.

Рисунок 1. Рисование квадрата с помощью двух треугольников

И вновь нужно задать вершины против часовой стрелки для обоих треугольников и положить их в ByteBuffer. Чтобы избежать двойного описания двух общих для треугольников координат, используйте список рисования, чтобы сказать OpenGL, как рисовать эти вершины. Пример:

Этот пример быстро показывает, что нужно для рисования других более сложных фигур в OpenGL. В основном вы будете использовать множества треугольников для рисования объектов. В следующем уроке мы расскажем как отобразить эти фигуры на экране.

Добавить комментарий