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

СИСТЕМЫ КООРДИНАТ

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

ЭКРАННЫЕ КООРДИНАТЫ

Местоположение на экране монитора выражается через целочисленные экранные координаты, которые соответствуют положениям пикселей в буфере кадра. Значения координат пикселей дают номер строки развертки (значение координаты у) и номер столбца (значение координаты х в этой строке развертки). При аппаратном выпол-

Рис. 3.1. Положения пикселей, которые отсчитываются от левого нижнего угла экрана нении таких процессов, как обновление экрана, как правило, положения пикселей отсчитываются от левого верхнего угла экрана. Тогда строкам развертки присваиваются значения от 0 (верхняя строка экрана) до какого-то целочисленного значения 2/тах (нижняя строка экрана), а положения пикселей в каждой строке развертки нумеруются от 0 до .7:тах в направлении слева направо. В то же время с помощью программных команд можно задать любую удобную систему отсчета положений на экране. Например, можно задать диапазон точек с целочисленными координатами и началом координат в нижнем левом углу экрана (рис. 3.1) или воспользоваться для описания рисунка нецелочисленными декартовыми координатами. Затем значения координат, используемых для описания геометрии сцены, с помощью стандартных процедур визуализации преобразуются в целочисленные значения положений пикселей в буфере кадра.


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