Система отсчета положения на экране конкретного устройства отображения ранее называлась координатами физического устройства (physical-device coordinates), или просто координатами устройства (device coordinates). Для растровых устройств, каковыми являются подавляющее большинство современных дисплеев, мы используем термин координаты растра (raster coordinates), или координаты экрана (screen coordinates). Координаты растра всегда представляются целыми числами, поскольку пиксели занимают совершенно определенное положение в узлах фиксированной сетки (или, если выразиться более профессиональным языком, пиксели по самой своей природе являются дискретными объектами и, следовательно, адресуются целыми числами).

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

3 Даже в современных системах некоторые команды нижнего уровня требуют задания положения в дюймах, причем диапазон допустимых значений соответствует реачьным размерам экрана.

Графическое программирование

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

Прикладной интерфейс OpenGL

2.2. Прикладной интерфейс OpenGL

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


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