glVertex2f (pointPos.x, pointPos.y); glEnd ( ); Функции OpenGL для построения точек также можно использовать в рамках процедуры С-н- для реализации команды set Pixel.

ФУНКЦИИ ПРЯМЫХ В OpenGL

В графических пакетах, как правило, предлагаются функции для описания одного или нескольких прямолинейных отрезков, причем каждый отрезок прямой определяется координатами двух его концов. В пакете OpenGL координаты одного конца выбираются с помощью функции glVertex, точно так же, как это делалось для координат точки, а в среду glBegin/glEnd заключается список функций glVertex. Однако теперь в качестве аргумента функции glBegin используется символьная константа,

Прямолинейные отрезки, которые можно изобразить в OpenGL с помощью списка из пяти наборов координат конечных точек: а) набор несоединенных отрезков, полученный с помощью константы прямой линии GL_LINES; б) ломаная линия, полученная с помощью функции GL_LINE_STRIP; в) замкнутая ломаная линия, полученная с помощью функции GL_LINE_LOOP которая указывает, что данный перечень координат нужно понимать как координаты концов прямолинейных отрезков. Существует три символьные константы OpenGL, которые можно использовать для определения того, как следует соединять точки из данного перечня, чтобы получился набор прямолинейных отрезков. По умолчанию каждая символьная переменная дает изображение сплошных линий белого цвета.

Рис. 3.4. Прямолинейные отрезки, которые можно изобразить в OpenGL с помощью списка из пяти наборов координат конечных точек: а) набор несоединенных отрезков, полученный с помощью константы прямой линии GL_LINES; б) ломаная линия, полученная с помощью функции GL_LINE_STRIP; в) замкнутая ломаная линия, полученная с помощью функции GL_LINE_LOOP которая указывает, что данный перечень координат нужно понимать как координаты концов прямолинейных отрезков. Существует три символьные константы OpenGL, которые можно использовать для определения того, как следует соединять точки из данного перечня, чтобы получился набор прямолинейных отрезков. По умолчанию каждая символьная переменная дает изображение сплошных линий белого цвета.

Набор прямолинейных отрезков, соединяющих каждую последующую пару точек-концов из перечня, задается с помощью константы линии-примитива GL_LINES. В общем случае это даст набор несоединенных между собой линий, если только некоторые значения координат не повторяются. Если задать только одну точку, то ничего изображаться не будет, а если число точек (концов отрезков) в списке будет нечетным, то последнее значение не обрабатывается. Например, если есть пять значений координат, пронумерованных от р1 до р5, и каждое из этих значений представляет собой двухмерный массив, то следующий код даст изображение, показанное на рис. 3.4, а.

glBegin (GL_LINES); glVertex2iv (pl); glVertex2iv (p2); glVertex2iv (p3); glVertex2iv (p4); glVertex2iv (p5); glEnd ( ); Таким образом, получаем один прямолинейный отрезок, соединяющий первую и вторую точки, и другой отрезок, соединяющий третью и четвертую точки. В данном случае количество заданных точек - концов отрезков нечетное, поэтому последний набор координат не учитывается.

С помощью константы-примитива OpenGL GL_LINE_STRIP можно построить ломаную линию. В этом случае будет изображена последовательность соединенных между собой отрезков, которая начинается в первой точке перечня и заканчивает ся в последней. Первый отрезок изображаемой ломанной линии соединяет первую и вторую точки; второй отрезок соединяет вторую и третью точки, и так далее до последнего конца отрезка. Список должен содержать как минимум два значения координат, чтобы создать изображение. Для тех же пяти значений координат, что и в предыдущем примере, приведенный ниже код выводит на экран изображение, представленное на рис. 3.4, б.


⇐ вернуться назад | | далее ⇒