Смекни!
smekni.com

Операции над графикой (стр. 2 из 10)

$TEXTSIZE │ 40(высота текста по умолчанию)

$TEXTSTYLE │ 7(имя текущего типа шрифта)

Графическая система PEX

Успехи, достигаемые сегодня в области аппаратных средств машинной

графики, часто омрачаются ограничениями программного обеспечения, воз-

можности которого либо в полной мере не соответствуют потенциалу аппа-

ратуры, либо не обеспечивают реальной переносимости прикладного прог-

раммного обеспечения.

Обычно, наряду с описанием аппаратных возможностей новых графи-

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

соответствующего системного программного обеспечения. Сегодня общей

частью этих перечней являются X11/R5, PEX, OpenGL, а в зависимости от

производителя, и библиотеки GLX, Starbase или GKS. Если обратить вни-

мание на показатели производительности, достигаемые при использовании

различных графических систем, можно обнаружить достаточно заметные

расхождения. Далеко не всегда явное превышение показателей производи-

тельности может быть определяющим фактором при выборе программной гра-

фический платформы, стандартизация и распространенность может оказать-

ся важнее. Графическая система OpenGL достаточно полно совмещает тре-

бование максимального использования современных возможностей аппарату-

ры и распространенности на многих платформах, что фактически выводит

OpenGL в ранг стандарта дефакто. Еще одной системой, которая уже давно

имеет статус стандарта, является PEX.

Краткая генеалогия

Историческая аббревиатура PEX означала PHIGS Extensions to X, од-

нако, начиная с версии 6, PHIGS (Programmer`s Hierarchical Interactive

Graphics System - Иерархическая Интерактивная Графическая Система

Программиста) утратила преобладающую роль. Теперь PEX скорее всего

можно назвать протоколом, регламентирующим порядок формирования и рас-

шифровки запросов, передаваемых по сети и инициирующих выполнение гра-

фических операций. Являясь расширением ядра X-протокола, PEX обеспечи-

вает функционирование прикладных задач, работающих с трехмерной графи-

кой, в среде X Windows, сервер которой вместе с обычными операциями X,

поддерживает также все функциональные возможности PEX Protocol

Extensions. Распространение философии клиент-сервер на PHIGS позволяет

быстро изменить атрибуты сложных объектов без обращения непосредствен-

но к исходному объекту, расположенному на сервере.

Для получения доступа к возможностям PEX прикладная задача может

либо самостоятельно формировать поток управляющих байтов, или работать

через прикладной интерфейс. Для PEX таким интерфейсом является графи-

ческий стандарт PHIGS 3D (ANSI X3.144-1988 и ISO 9592), внутренние

сервисные программы поддержки которого позволяют генерировать протокол

PEX, обеспечивающий функционирование задачи в среде X Windows. Вместе

с KGS (Graphical Kernal System) и CGM (Computer Graphics Metafiles)

PHIGS представляет собой графический стандарт работы с трехмерной гра-

фикой, унифицирующий операции работы с освещением, затенением, а также

другими атрибутами примитивов. Есть строгие стандарты и на расширение

языков программирования, используемых для работы с PHIGS, например,

ANSI X3.144.1, ISO 9593-1 для FORTAN или ANSI X3.144.4, ISO 9593-4 для

языка Си. Вместе с преимуществами PHIGS обладающим статусом междуна-

родного стандарта, используемого сегодня во многих приложениях, имеют-

ся определенные сложности, которые делают PEX излишне тяжеловесным для

некоторых применений.

PEX не содержит спецификаций на интерфейс с прикладными програм-

мами. Его основная задача - поддержка связи с PHIGS, поэтому для орга-

низации взаимодействия с внешним окружением предусмотрены библиотеки

PEXIM и PEXlib. Ядро самого PHIGS образовано из PEXIM, однако в PHIGS

отсутствует интерактивная графика и, как следствие из этого, требуется

PIXlib, который более гибко организует взаимодействие с X Windows. Од-

нако включение такой естественной возможности сразу нарушает единооб-

разие стандарта и может привести к расхождениям между разными реализа-

циями и версиями PEXlib; правда, эти расхождения обычно распространя-

ются не на все графические примитивы, а только на подмножества, свя-

занные с буферизацией и некоторыми особыми алгоритмами визуализации.

Основные функциональные возможности PEX

Не вдаваясь в подробности, перечислим основные возможности, отли-

чающие PEX от других аналогичных систем, в частности, от OpenGL. В PEX

имеется полный комплект векторных шрифтов, которые могут быть доступны

в любой момент. От PHIGS система PEX унаследовала все его структуры

описания графический элементов, позволяющие достаточно гибко осущест-

влять редактирование путем замены, удаления и добавления примитивов.

Возможность копирования структур, организации поиска и иерархическая

организация примитивов придают PEX некоторую стройность и универсаль-

ность. Однако, сознательный отказ от операций, сильно зависящих от ап-

паратуры, может несколько разочаровать разработчиков, создающих прило-

жения, максимально использующие возможности аппаратуры. Например, нет

стандартных средств устранения эффекта чередования, отсутствуют опера-

ции работы на уровне пикселей, что бывает необходимо при обработке

изображений, нет также средств работы с текстурами. Булевы операции

над твердотельными объектами, реализованные, например, в OpenGL, в PEX

отсутствуют; кроме этого, нет реализации эффекта размывания изображе-

ния, полезного при выводе движущихся объектов. Не получила свое отра-

жение в PEX реализация удаления невидимых линий и поверхностей с ис-

пользованием Z-буфера, что объясняется значительной зависимостью от

особенностей конкретной аппаратуры. Однако в следующих версиях плани-

руется программно проводить удаление невидимых линий по принципу Z-бу-

фера.

Для хранения графических примитивов в PEX используются свои собс-

твенные структуры. Так, многоугольник описывается множеством вершин,

каждая из которых задана тройкой вещественных координат. При организа-

ции интерактивной работы каждый раз необходимо преобразовывать данные

из структуры PEX в формат конкретного интерфейса пользователя, что

требует дополнительного времени процессора, занимает кэш-память и пе-

регружает системную шину.

Инструментарий разработчика

Для разработки прикладных программ, использующих возможности

PHIGS и PEX, применяется специальный инструментарий PHIGS toolkit, ра-

ботающий на платформах DEC, HP, IBM и Sun. В состав инструментария

входят библиотеки программ геометрических преобразований и моделей

цветовых шаблонов, подсистема автоматического формирования диаграммы

иерархической структуры сети, интерактивный редактор, отладчик и ин-

терпретатор.

PHIGS Toolkit состоит из инструментария программиста, представля-

ющего собой традиционный набор процедур обращения к функциям PHIGS и

средств работы на более высоком уровне, обеспечивающих расширенные

возможности по отладке и визуализации сетевых структур. Инструментарий

программиста содержит средства конструирования и выполнения координат-

ных преобразований, сервисную библиотеку, обеспечивающую выполнение

таких операций, как "copy element", отсутствующих в PHIGS, а также

последовательности из нескольких отдельных операций. Библиотека для

работы с меню, использующая структуры и конструкции PHIGS, библиотека

Windows Library, позволяющая выводить топологию структур, а также от-

ладчик образуют слой высокого уровня для инструментария.

Для определения состава комплекса возможностей используется меха-

низм опроса, согласно которому прикладная задача запрашивает у сервера

перечень имеющихся в наличии возможностей и при их отсутствии требует

включать соответствующий код непосредственно в программу. Некоторые

проблемы возникли у PEX с появлением альтернативных оконных систем.

Традиционно он очень близко соприкасался с системой X Window: семанти-

ка ресурсов X, дисциплина запросов и организация событий били доста-

точно глубоко интегрированы в PEX. В отличии от OpenGL, только отдель-

ный модуль которого отвечает за организацию оконной техники, после за-

мены некоторых процедур он может использоваться для работы с накоплен-

ными приложениями в среде MS Windows.

ПРОГРАММНЫЕ ПРОДУКТЫ ДЛЯ СОЗДАНИЯ ГИС

В данном разделе реферата рассматриваются программы с помощью ко-

торых разрабатываются многофункциональные геоинформационные системы.

Набор программных средств рассмотрим на примере INTERGRAF и ARC/INFO.

Создание ГИС при помощи технологии корпорации INTERGRAF

Фирма INTERGRAF предлагает информационную технологию на базе мно-

гофункциональной графической оболочки MicroStation и модульной геоин-

формационной среды MGE, которые применяются в мировой практике при ре-

шении широкого круга задач цифровой картографии и геоинформатики. Ис-

торически первые версии функционировали только на рабочих станциях

этой фирмы под управлением операционной системы UNIX.

В ГИС-технологии INTERGRAF имеется ряд специальных программно-

технических решений, в результате которых:

- сокращается время на этапе подготовки карт к изданию за счет

исключения фотопроцессов;

- сокращается количество издательских позитивов с 8 до 6 за счет

триадного издания фоновых элементов карты;

- возможно наладить процесс быстрой корректировки содержания карт;

- возможно провести комплекс составительско-редакторских работ по

подготовке к изданию карт больших форматов и сложного содержания.

На рис.1 представлена схема ГИС-технологии intergraf Co. В верх-

ней части некоторых прямоугольников указаны названия программных про-

дуктов, с помощью которых проводилась конкретная процедура. Сканирова-

ние производилось на специальном картографическом сканере. Полученное