ГЛАВА 4

Атрибуты графических примитивов

общем случае, параметр, который влияет на способ изображения примитива, называется параметром атрибута. Такие параметры атрибутов, как цвет или размер, определяют фундаментальные характеристики примитива. Другие атрибуты служат для описания того, как должен изображаться примитив при особых условиях. Пример атрибутов для особых условий - видимость или регистрируемость определенного объекта в программе, связанной с интерактивным выбором объектов. Эти атрибуты для особых условий будут изучаться в последующих главах. Здесь мы остановимся только на тех атрибутах, которые предназначены для управления основными свойствами изображения графических примитивов, не рассматривая различные особые ситуации. Например, прямые линии могут быть сплошными или пунктирными, широкими или тонкими, синими или оранжевыми. Отдельные фигуры могут закрашиваться одним цветом или заполняться многоцветным узором. Текст может читаться слева направо, изображаться под наклоном по диагонали экрана или в вертикальных колонках. Отдельные символы могут писаться с помощью различных шрифтов, быть разного цвета и размера, а на краях объектов могут применяться эффекты изменения интенсивности, чтобы сгладить растровый “эффект лесенки”.

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

Графическая система, в которой сохраняется список текущих значений атрибутов и других параметров, называется системой состояний или аппаратом состояний. Атрибуты результирующих примитивов и некоторые другие параметры, такие как текущее положение буфера кадра, называются переменными состояния или параметрами состояния. При присвоении значения одному или нескольким таким параметрам система вводится в определенное состояние, в котором остается до тех пор, пока значение параметров состояния не изменится.

ПАРАМЕТРЫ СОСТОЯНИЯ В OpenGL

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


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