-3 отрицательное, значит, это полигон

0 0 первая точка этого полигона

35 3 вторая точка этого полигона

57 8 соединяем ее с первой точкой полигона

5 положительное, значит, оставляем ломаную незамкнутой

0 1

12 21

23 34

первая ломаная линия рисуется как треугольник, причем ее последняя точка соединяется с первой. Поэкспериментируйте с этим форматом и создайте для него несколько файлов данных.

2.5. Тематические задания Тематическое задание 2.5. Рисование линий и многоугольников пунктиром Уровень сложности П.

Часто бывает необходимо провести линию штрих-пунктиром (dot-dash pattern) или заполнить многоугольник узором, представляющим собой некоторое изображение. OpenGL предоставляет для этого удобные инструменты.

Штриховые линии Нетрудно задать штриховой шаблон (stipple pattern) для рисования липни. Если шаблон задан, он будет применяться для вычерчивания линии после активизации с помощью команды

glEnable(GL_LINE_STIPPLE): и до тех пор, пока его активизация не будет отменена командой

glDisable(GL_LINE_STIPPLE); Функция

g1LineStipple(GLint factor. GLushort pattern); задает шаблон штриховки. Величина pattern (которая имеет тип GLushort, 16-битное число без знака) представляет собой последовательность нулей и единиц, которая определяет, какие точки будут рисоваться вдоль линии. 1 означает, что точка рисуется, 0 - что нет. Эта комбинация бит просматривается от младшего бита до старшего. Данный шаблон повторяется столько раз, сколько необходимо для рисования нужной линии. В табл. 2.2 приведено несколько примеров. Для компактности битовый шаблон записывается в шестнадцатеричной системе. Например, комбинация ОхЕЕСС задает битовый шаблон 1110111011001100. Переменная factor (множитель) задает степень «расширения» шаблона: каждый бит шаблона повторяется factor раз. Например, шаблон ОхЕЕСС с множителем 2 выглядит как 11111100111111001111000011110000. При рисовании штриховой линии с помощью подпрограммы:

glBegin(GL_LINE_STRIP): glVertex* О: glVertex* О: glVertex* ():.. .glEndO:


⇐ Предыдущая| |Следующая ⇒