$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. В верх-
ней части некоторых прямоугольников указаны названия программных про-
дуктов, с помощью которых проводилась конкретная процедура. Сканирова-
ние производилось на специальном картографическом сканере. Полученное