Маркер

Маркеры обычно используются для выделения точек на графиках. Маркеры, доступные в большинстве графических библиотек, показаны на рис. 3.15.

Тип маркера указывается в качестве атрибута. Полимаркер, как и отрезок, является стандартным объектом в GKS и PHIGS. OpenGL не поддерживает маркеры явно, однако предоставляет механизм сохранения маркеров в растровых файлах и выведения их на экран. Благодаря этому графическая программа, построенная на OpenGL, гораздо лучше переносится на различные платформы. Приведенный ниже образец кода демонстрирует выведение маркера * (звездочка) в PHIGS и OpenGL.

 

Маркер
 

PHIGS

pint                              num_of_point - 10:

/* Количество маркеров для отображения. */ Ppoint3 point3[] - {

{0.0. 0.0. 0.0).

{10.0. 20.0. 15.0}.

{1.0. 3.0. 6.5}}:

/* Координаты маркеров. */ pset_marker_type(PMK_STAR);

/* Тип маркера-- звездочка. */ ppolymarker3(num_of_point. pomt3):

/* Построение маркеров по имеющимся данным. */

 
 

OpenGL

GLubyte asterisk[13] - {0x00. 0x00. 0x30. 0x18. 0x0с. 0x0с. 0x0с. 0x0с 0x0с 0x0с 0x0с. 0x18. 0x30}.1

/* Задание растрового изображения звездочки. Первой рисуется нижняя строка, затем следующая и т. д. */

GLsizei          width - 8:

/* Ширина растра в пикселах. */

GLsizei          height - 13:

/* Высота растра в пикселах. */

GLfloat origin_x - 0.0. origin_y - 0.0:

/* Задание начала отсчета системы координат растра. Положительные значения смещают начало отсчета вверх и вправо, отрицательные вниз и влево. */

GLfloat ircre_x - 10.0. incre_y - 0.0:

/* Поправки к положению растра после выведения. */

GLfloat          white[3] = {1.0,     1.0. 1.0}:

/* Задание цвета маркера. */

GLfloat          positTon[2] -  {20.5. 20.5}:

/* Координаты маркеров */ glPixelStore!(GL_UNPACK_ALIGNMENT.1):

/* Установка режима хранения пикселов, влияющего на работу glBitmap. */ glColor3fv(white):

/* Установка белого цвета маркера. */ glRasterPos2fv(position):

/* Установка текущего положения растра. */ glBitmap(width. height. origin x. origin_y. incre_x. incre_y. asterisk):

/* Выводит растровую картинку, заданную в последнем аргументе, представляющем собой указатель на эту картинку. Положение и размер растра указываются первыми четырьмя аргументами. */

 

 

 

Смотрите также