Виктор Коваленко,
ИПМ РАН,
kvn@spp.keldysh.ru

Графическая технология HP Visualize
Составные части технологии HP Visualize
Средства графического программирования
Оценка графических систем HP Visulize
Выводы
Литература

Сегодня мы переживаем этап, когда на рабочие места приходит реальная трехмерная компьютерная графика, которая становится действительным рабочим инструментом специалистов. Ведущие производители графической аппаратуры и программного обеспечения предлагают широкий выбор настольных графических рабочих станций, которые практически в габаритах ПК позволяют разрабатывать и использовать трехмерные графические приложения в разнообразных прикладных областях. В статье [1] был приведен обзор графических средств систем, построенных на основе RISC-архитектуры - данные приводились по состоянию на 1995 год. За последние месяцы положение дел в этой области довольно существенно изменилось: несколько производителей объявили о выпуске новых станций, задающих новый уровень графической производительности, поднимая его в два - три раза при одновременном снижении цены. В данной статье имеет смысл более подробно остановиться на графических системах фирмы Hewlett-Packard, а именно на семействе графических систем HP Visualize.

Летом 1996 года компания Hewlett-Packard объявила о выпуске базирующихся на 64 - разрядном процессоре PA-RISC 8000 графических рабочих станциях HP Visulize. Используя процессоры PA-8000 с тактовой частотой от 160 до 180 МГц эти системы демонстрируют производительность до 11.8 и 20.2 SPECint95 и SPECfp95 соответственно. Достаточно высокими оказались и показатели графической производительности - 425 PLBsurf93, 400 PLBwire93 и 36.1 Xmark93.

Выпущено несколько моделей станций семейства Visulize. Самая мощная из настольных моделей - HP Visulize C180-XP в группе систем стоимостью до 50 тыс. долл. поставляется в конфигурации: 32 Мбайт памяти, 2 Гбайт жесткий диск и 17 дюймовый монитор. Показатели производительности этой модели приведены в таблицах 1 и 2 и по сути устанавливают новые точки отсчета мощности графических рабочих станций. Сравнение с предыдущим лидером - SGI 200МГц Indigo2 R10000 Maximum IMPACT показывает, что C180-XP имеет несколько лучшую производительность на операциях с плавающей точкой и на 33% лучшую производительность для целочисленной арифметики. Кроме этого графическая производительность, измеренная на традиционных тестах также на первый взгляд оказалась выше.

Модель
Тактовая частота
SPECint 95
SPECfp 95
C160
160МГц
10.4
16.3
C180-XP
180МГц
11.8
18.7
K460-XP
180МГц
11.8
20.2

Таблица 1. Вычислительная производительность моделей HP Visualize.

Ускоритель
HP Visualize-8/24
HP Visualize-48
HP Visualize-48XP
Рабочая станция
C160
C160
C180-XP
2D производительность
X mark 93
21.0
22.2
25.1
X11 lines
3.4 M/s
3.7 M/s
3.9 M/s
3D производительность
PLB Wire 93
103
240
365
PLP surf 93
168
289
424
AA 3D V/S
875 K/s
3.4 M/s
6.8 M/s
Закраска треугольников
675 K/s
1.8 M/s
3.9 M/s
Закраска четырехугольников
315 K/s
931 M/s
1.9 M/s
Наложение текстуры
Память для текстуры
нет
до 16Мбайт
до 16 Мбайт
Треугольники с текстурой
-
400 K/s
800 K/s
Цветовые плоскости
двойной буфер 8/8 или 12/12
двойной буфер 24/24
двойной буфер 24/24
Количество цветов
> 4M (Color Recovery) или 16.7М
16.7M
16.7M

Таблица 2. Графическая производительность ускорителей Visualize для станций серии "С".

Характеристики более простой модели HP Visulize C160 из группы систем стоимостью до 25 тыс. долл. также приведены в таблицах 1,2. Обе модели имеют 12 слотов для наращивания памяти до 768 Мбайт, 4 дополнительных слота для шин GSC, EISA и PCI, сетевую плату Ethernet. Поддерживается до 6.0 Гбайт внутренней дисковой памяти и контроллер SCSI-2. Пиковая пропускная способность шины памяти составляет 960 Мбайт/сек.

Модели K260-EG, K460-EG и K460-XP относятся к классу deskside и имеют цену выше 50 тыс. долл. Это многопроцессорные системы с числом процессоров до четырех, 2 Мбайт кэш, 5.7 Тбайт внешней дисковой памяти, высокоскоростным SCSI, сетевыми средствами FDDI и ATM. Шина памяти такая же, как и у моделей класса C. Модель K260-EG поддерживает до 1 Гбайт памяти, а две другие модели - до 2 Гбайт. Все компьютеры оснащаются операционной системой HP-UX 10.20.

Графическая технология HP Visualize

Обзор архитектуры

Отличительной особенностью графической технологии HP Visualize является ее ориентация на распределенную архитектуру (рис. 1), в которой объединяются процессор PA-RISC и 3D геометрический ускоритель, использующий тот же процессор. Большое количество сложных вычислений с вещественной арифметикой, которые выполняются при 3D рендеринге, разделяются между процессором и ускорителем. Набор команд процессора включает также и специальные графические команды, поэтому графическая станция HP может выполнять достаточно сложные графические алгоритмы непосредственно в процессоре.

Picture 1

Рисунок 1.
Распределенная архитектура HP Visualize.

Второй шаг для повышения графической производительности в архитектуре HP Visualize заключается в добавлении геометрического ускорителя, который выполнен на отдельной плате и основывается на PA-RISC процессоре с плавающей точкой.

К достоинствам распределенной архитектуры можно отнести то, что в процессе обработки графической информации участвует вся система. Примером может служить операция отбрасывания невидимых поверхностей полигонов (back-face culling), существенно увеличивающая скорость рендеринга. Эта операция может быть эффективно распараллелена между процессором и геометрическим ускорителем Visualize. В результате операция выполняется значительно быстрее, чем если бы она целиком выполнялась только на графическом ускорителе.

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

Альтернативной стратегии придерживается, например, компания Silicon Graphics, которая исходит из того, что графический конвейер должен реализовывать большое количество операций, многие из которых должны выполняться последовательно. В идеале, все операции языка графической обработки, например, все команды OpenGL, должны ускоряться аппаратно. Параллельно/последовательная схема выполнения составляет трудную задачу при оптимизации. Действительно, что толку ускорять подсистему растеризации, если блоки закраски или нанесения текстуры не способны обработать достаточное для нее число полигонов. Поэтому, если выполнять сложные операции на процессоре, весьма вероятно, что для многих задач процессорный ресурс станет узким горлом. К тому же в многозадачной системе процессор должен осуществлять и многие другие функции, например, управлять задачами и поддерживать ввод/вывод. Исходя из этих соображений SGI использовала в своих решениях распределенный тип архитектуры, с наделением процессора графическими командами, только в младшей модели своих рабочих станций Indy R5000.

Однако, как демонстрирует HP, при разумном балансе разделения работ между процессором и ускорителем удается получить хорошие результаты с одновременным снижением цены на оборудование.

Рассмотрим блок-схему графического конвейера (рис. 2).

Picture 2

Рисунок 2.
Блок-схема графического ускорителя Visualize-48.

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

В графической технологии HP Visualize используется несколько разных типов 3D геометрических ускорителей: Visualize-EG/-8/-24/-48/-48XP. Каждый ускоритель представляет собой подсистему, имеющую производительность 500 MFLOPS, которая выполняет геометрические вычисления и расчет освещенности. В подсистемах Visualize-48 и Visualize-48XP устанавливается несколько геометрических ускорителей, работающих параллельно. Операции делятся между ними по методу MIMD - Multiple Instruction, Multiple Data. Архитектура MIMD позволяет нескольким ускорителям одновременно выполнять разные команды и использовать собственные наборы данных. Параллельно с ними работает и процессор.

Благодаря распределенной архитектуре, процессор непосредственно участвует в графической обработке, поэтому общая пиковая производительность системы при выполнении операций с вещественной арифметикой может быть оценена, как сумма производительностей процессора и геометрических ускорителей. В модели рабочей станций C110 вклад ускорителя в пиковую производительность составляет 504 MFLOPS в конфигурации с ускорителями Visualize-8 или Visualize-24, и 1032 MFLOPS в конфигурации с Visualize-48. Если использовать Visualize-48XP, то на рабочей станции C180-XP пиковая производительность будет составлять 2720 MFLOPS.

Вернемся к блок-схеме графического конвейера (рис. 2). В блоке растеризации происходит преобразование геометрических примитивов (отрезков, треугольников и четырехугольников) в пиксели, которые записываются в память буфера кадра. В буфере кадра и области блочных операций, выполняются различные растровые операции, такие, как наложение текста или перемещение окон, а также арифметические операции, например, смешивание цветов и вычисление прозрачности (alpha blending). Чтобы поддерживать высокую - несколько десятков миллионов - производительность выполнения растровых операций, должна быть обеспечена очень большая скорость передачи данных в этот раздел графического ускорителя. Требуемая пропускная полоса обеспечивается тем, что буфер кадра в Visualize-8 имеет интерфейс данных 128 бит, Visualize-24 - 192 бит. Visualize-48 и Visualize-48XP имеют еще более широкий интерфейс, равный 320 и 640 бит соответственно.

В блоке управления дисплеем, часть Pixel Funnel собирает пиксельные данные вместе, образуя единый информационный поток, и посылает их в RAMDAC. RAMDAC представляет собой графический контроллер и контроллер цифрового видео нового поколения. Он относится к классу интегральных схем, называемых цифровыми доминантными схемами со смешанным сигналом. Для этих цифровых устройств характерно большое количество контактов и повышенная скорость передачи данных. Они выполняют некоторые функции цифро-аналогового или аналого-цифрового преобразования на входных-выходных контактах. RAMDAC выполняет несколько операций. Во-первых, он получает все данные от блока Video Funnel, проверяет запросы на требующуюся карту цветов, присваивает пиксельным данным нужный цвет, преобразует цифровые данные в аналоговые компоненты RGB и посылает на монитор. Если данные имеют разрядность 8-бит и ссылаются на цветовую карту Восстановления Цветов, тогда в Процессоре Цифровых Сигналов (DSP) производится их раскодировка со скоростью 9 млрд. операций в секунду.

Аппаратное наложение текстуры

В архитектуре HP Visualize наложение текстуры поддержано платой отдельного аппаратного ускорителя, в функциональной характеристике которой можно выделить два следующих момента.

Во-первых, для получения реалистичных изображений требуется, чтобы отраженный свет сохранял свою чистоту. Например, при освещении желтым светом голубой поверхности зеркально отраженный компонент должен оставаться желтым. На рис. 3 приведено сравнение графического конвейера HP Visualize и обычного метода расчета зеркального отражения и нанесения текстуры.

Picture 3

Рисунок 3.
Сравнение методов наложения текстуры.

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

Специфика графических подсистем Visualize-8/24

Графические подсистемы Visualize-8 и Visualize-24 имеют общую архитектуру и организацию. Они состоят из двух плат: буфер кадров и дочерняя плата, которая содержит 3D геометрический ускоритель и аппаратный Z-буфер. Буферы кадров обеих подсистем содержат растровое изображение и обеспечивают двойную буферизацию. Они поддерживают 8 оверлейных плоскостей, которые могут использоваться для организации интерфейса с пользователем и размещения меню приложений. Эти плоскости дают возможность использовать 256 цветов.

Графическая производительность систем HP Visualize очень сильно зависит от процессора и варьируется от 88 до 168 PLBsurf93. Это, в частности означает, что при обновлении процессора без дополнительных затрат увеличивается также графическая производительность.

Хотя архитектура Visualize ориентирована на 3D графику, двумерные графические задачи также решаются в ней достаточно быстро: показатель теста Xmark93 равен 21. Эффективность 2D графики означает, например, что нет ощутимых задержек при работе с меню приложений и быстро происходит обработка больших оцифрованных изображений.

Буфер кадра в Visualize-8 имеет двойную буферизацию и использует технологию Восстановления Цветов фирмы HP. Двойная буферизация служит для того, чтобы перемещение динамических моделей происходило гладко и непрерывно, а технология Восстановления Цветов позволяет использовать режим True Color.

Подсистема Visualize-24 обладает всеми достоинствами HP Visualize-8, включая технологию Восстановления Цветов, плюс имеет больше оперативной памяти и использует другую интегральную схему растеризатора. Дополнительная аппаратура обеспечивает двойную буферизацию 12/12, 24-битный цвет и режим устранения лестничного эффекта при работе с трехмерными изображениями.

Специфика графических подсистем Visualize-48/48XP

Демонстрируя производительность, равную 365 и 424 единиц на тестах PLBwire93 и PLBsurf93 соответственно, графическая подсистема HP Visualize-48XP пока является самым мощным ускорителем для настольных графических систем. По этой причине имеются даже определенные ограничения правительства США на их экспорт. Как и другие ускорители Visualize, модели 48/48XP показывают высокую производительность для 2D приложений среди 3D графических подсистем.

Подсистемы Visualize-48/48XP имеет двойную буферизацию с 24 цветовыми плоскостями, что обеспечивает плавное перемещение моделей в 24-битном цветовом исполнении. Обе подсистемы имеют 8 оверлейных плоскостей, используемых для размещения элементов прикладного интерфейса пользователя.

В состав Visualize-48/48XP включается плата аппаратного наложения текстуры с объемом памяти до 16 Мбайт. Данные о производительности наложения текстуры приведены в таблице 2.

Плата Video Out, входящая в состав подсистем HP Visualize-48(48XP), позволяет в реальном масштабе времени выдавать поток сгенерированных кадров для их воспроизведения на внешних устройствах - видеоплейерах или телевизорах. Управление видео выводом предельно простое: определяется прямоугольник экрана, ограничивающий изображение и после включения поток кадров выводится через порт Composite или S-Video. Поддерживаются форматы выхода NTSC, PAL и S-Video. С помощью Video Out можно, например, показать и записать в видеоформате прогулку по модельному архитектурному сооружению. Плату Video Out можно установить на любых рабочих станциях класса "C" и "J", а для рабочей станции HP Visualize K460-XP она является стандартной.

Составные части технологии HP Visualize

Какие конкретные технологические решения лежат в основе графических подсистем Visualize? Более подробно имеет смысл остановиться на технологии Восстановления Цветов и технологии текстурирования.

Технология Восстановления Цветов

Технология Восстановления Цветов (Color Recovery) состоит из программно - аппаратных алгоритмов компрессии - декомпрессии цветов для поддержки полномасштабного рендеринга в интерактивной среде. Эта технология позволяет воспроизвести миллионы цветов при использовании 8-разрядного буфера кадров. Получаемые изображения имеют качество, характерное для 24-разрядного буфера кадров: отсутствует зернистость и не появляется ложных узоров.

Вообще говоря, для получения высококачественных изображений требуются системы с 24-, 48- или 64-цветовыми плоскостями. Но они имеют довольно высокую цену и многие пользователи используют графические устройства с 8 плоскостями, которые дают только 256 цветов. Для получения большего репертуара цветов в таких системах используется метод дитеринга (что можно перевести, как дрожь или рябь). Дитеринг является процессом, аппроксимирующим цвета путем перемешивания цветов соседних пикселей, которым присваиваются разные базовые цвета. Когда они рассматриваются с расстояния наилучшего зрения, глаз воспринимает новый цвет, а точнее смесь цветов пикселей. Например, если издалека посмотреть на шахматную доску, состоящую из красных и белых клеток, глаз будет воспринимать ее, как если бы она была раскрашена в розовый цвет. Таким способом дитеринг моделирует миллионы цветов. Однако, изображение, полученное с помощью этого процесса, может иметь артефакты: зернистость и ложные узоры, что, конечно, нежелательно.

Технология Восстановления Цветов является развитием метода дитеринга и с ее помощью можно получить миллионы цветов, используя станции по цене, соответствующей системам с 8 цветовыми плоскостями, не жертвуя при этом качеством изображения. Это, конечно, не означает, что 8-разрядные графические устройства могут заменить 24-разрядные во всех приложениях. Хорошие результаты получаются в таких областях, как компьютерное проектирование в механике, архитектуре, в области географических информационных систем и систем электронных публикаций, а также в мультимедиа приложениях. С другой стороны, обработка аэрокосмических и медицинских снимков, требуют по-крайней мере 24-разрядного буфера кадров. Отличие изображений, полученных на 24-разрядных устройствах true color и по технологии Восстановления Цветов, можно обнаружить только при их тщательном сравнении. Дефекты аппроксимации могут проявляться в областях низкого контраста и на границах между областями разного тона.

Технология Восстановления Цветов HP состоит из двух компонентов: кодирования и декодирования. Кодирование использует новый и оригинальный алгоритм дитеринга. Декодирование реализовано аппаратно в виде специализированного блока обработки цифровых сигналов DSP.

В графический конвейер технология Восстановления Цветов включается следующим образом. В любой конфигурации графической аппаратуры приложение может использовать для работы с цветом режим true color с 24-разрядной кодировкой цвета. Блок кодировки выполняет рендеринг графического изображения, используя оригинальный алгоритм дитеринга и записывает 8-разрядные пиксели в буфер кадров. Блок декодирования обрабатывает 8-разрядные данные из буфера кадров, воспроизводя true color изображение на экране.

Технология Восстановления Цветов доступна при работе с PEXlib, Starbase и HP-PHIGS. Внеся некоторые модификации в приложение, ее можно использовать и с X Window.

Технология наложения текстуры

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

Можно указать три способа применения текстуры.

  • Текстура используется для показа мелких деталей на фоне крупного объекта, например, кирпичей на стене, окон на высотном здании. Это не только повышает визуальную детализацию, но и уменьшает сложность геометрических данных, поскольку каждый отдельный кирпич не моделируется.
  • Текстура может быть полезна из информативных и эстетических соображений. Например, бутылка с напитком выглядит значительно более привлекательно, если на ней есть красочная наклейка. При моделировании для этого нужно "приклеить" 2D изображение к цилиндрической или какой-то другой не плоской поверхности.
  • "Простая" текстура может применяться для нанесения повторяющегося узора на 3D поверхность. Например, архитектор, проектирующий интерьер комнаты, может захотеть разукрасить стену обоями.
  • Поддерживаются две классические формы наложения текстуры.

  • Стандартное (или поверхностное) наложение: поверхность как бы заворачивается в текстуру, положение текстуры фиксировано и не зависит от точки наблюдения.
  • Наложение среды (или отражающее наложение) используется для изображения блестящих поверхностей - текстура образует отражающую среду и ее наблюдаемое положение зависит от точки зрения. По сравнению с отслеживанием лучей это относительно недорогой способ моделирования полированных отражающих объектов, например, хромированных частей автомобилей.
  • Наложение текстуры в HP PEX имеет следующие особенности:

  • Создание карт MIP. Этот прием улучшает визуальное качество и повышает производительность посредством предварительного вычисления данных, определяющих наложение текстуры. Эти данные затем многократно используются при рендеринге.
  • Перспективная коррекция. При наложении текстуры производится ее интерполяция в соответствие с перспективным искажением. Например, прямоугольные блоки текстуры правильно отображаются в трапеции, которые являются перспективным образом прямоугольников.
  • Композиция текстур. На один объект может быть наложено несколько разных карт текстур. При этом может производиться либо их смешивание, либо замещение.
  • Укладка текстур. Текстурная карта может быть недостаточно большой, чтобы покрыть поверхность целиком. В этом случае предлагается выбор из нескольких режимов:
    • зажим: один экземпляр текстуры наложен, остаток поверхности закрашивается в ее собственный цвет;
    • обертка: один экземпляр текстуры наложен, текстура повторяется столько раз, сколько требуется для покрытия всей поверхности. Все экземпляры текстуры идентичны;
    • зеркало: режим аналогичен режиму обертка, но все дополнительные экземпляры текстуры (по вертикали и по горизонтали) зеркально отражаются.
  • Отражающая текстура. Существуют два способа, как могут взаимодействовать текстура и отраженный свет: текстура с предотражением сохраняет правильный цвет отраженного от поверхности луча, что является более корректным с точки зрения физики процесса, а текстура с постотражением влияет на цвет луча, перемешивая его с собственным цветом.
  • Программирование наложения текстуры. Для наложения текстуры на поверхность необходимо задать координаты текстуры, которые привязывают 2D текстурную карту к 3D геометрической модели. Нахождение соответствия между точками 2D карты и точками 3D объекта не является тривиальной задачей. Это соответствие устанавливается в два приема. Во-первых, геометрическая модель проецируется на стандартный проекционный объект, и, во-вторых, проекционный объект "распрямляется" в плоскую 2D поверхность, на которую отображается 2D карта текстуры. Программирование процесса наложения структуры предусматривает выполнение пяти шагов:
  • 1) Инициализация.

    2) Подготовка текстуры. Выполняется предварительная фильтрация текстуры для создания MIP карты, которая является иерархическим представлением текстуры с разной степенью детальности и где производится усреднение цвета по большому числу пикселей текстуры. Карта MIP создается, как пирамида видимости текстуры и состоит из нескольких уровней. Каждый пиксель на уровне n+1 равен среднему четырех нижележащих пикселей уровня n. Следовательно, разрешение каждого уровня карты равно половине разрешения предыдущего уровня. На самом верхнем уровне имеется один пиксель, представляющий средний цвет исходной текстуры, а сама она лежит на первом уровне. MIP карта строится один раз и содержит данные для построения текстуры с любым разрешением. Это и улучшает визуальное качество, и повышает производительность.

    3) Подготовка геометрии. Генерируются координаты примитивов, на которые будет налагаться текстура.

    4) Установка таблиц. Заполняются 4 таблицы с прямым доступом (LUT - Lookup Tables):

      - LUT Привязки: связывает текстурную карту с ее ориентацией на примитиве, режимами композиции текстур и режимом наложения. Она содержит ссылки на LUT Координат, LUT Композиции и LUT Выборки. Для каждого примитива из базы данных, на который накладывается текстура, заводится один элемент в LUT Привязки.

      - LUT Координат: определяет, каким образом текстурная карта ориентирована на примитиве.

      - LUT Композиции: определяет, как значения текстурной карты смешиваются с цветом и альфа значениями примитива.

      - LUT Выборки: Определяет режим размножения карты текстуры при наложении на примитив.

    5) Рендеринг. На шаге рендеринга происходит фактическое наложение текстуры на примитивы сцены. При интерактивном изменении сцены этот шаг может выполняться многократно, в то время, как остальные шаги будут выполнены только один раз.

    Средства графического программирования

    В графических системах компании HP предлагается использовать несколько систем трехмерного графического программирования (3D API): Starbase, HP PEX, OpenGL и HP-PHIGS.

    Starbase - это собственная программная система, запатентованная HP и разработанная на основе спецификации CGI. Starbase в полном объеме реализована для всех графических систем HP и является полным, высокопроизводительным API 3D графики, на котором к сегодняшнему дню написано множество приложений. Компания HP поддерживает и развивает Starbase для всех будущих графических систем.

    Графическая библиотека Starbase содержит большое количество сложных операций: построение многогранников и NURBS-поверхностей, освещение и закраска, наложение текстуры. API Starbase имеет высокий уровень абстракции, освобождая программиста от манипуляции пикселями, регистрами и т.д. Графическое изображение описывается в терминах объектов, для которых пользователь определяет геометрические параметры, расположение и зрительные атрибуты. Важным достоинством Starbase является поддержка дисплейного файла - базы данных, которая содержит структурированное описание сгенерированной сцены. Дисплейный файл может динамически изменяться из приложения, что эквивалентно модификации не всего изображения целиком, как это принято в растровой графике, а только тех его частей, которые действительно требуется изменить. Имеется два способа создания рисунка: путем передачи примитивов сцены один за другим в Starbase и немедленного получения их изображения, этот режим называется непосредственным; путем записи примитивов в дисплейный файл Starbase с его последующим показом целиком - структурный режим.

    HP PEX является введенным компанией HP промышленным стандартом, который представляет собой 3D API, построенный в соответствии с архитектурой клиент-сервер. PEX - это 3D расширение X Window, одобренное Консорциумом X и поддерживаемое всеми основными поставщиками рабочих станций. Сейчас HP поддерживает PEX 5.1 с расширением CGE (Commom Graphics Environment), которое было согласовано с рядом других ведущих производителей графических систем. CGE включает наложение текстуры, наложение среды, альфа прозрачность и расширенные линейные примитивы. В полном объеме PEX реализован на рабочих станциях HP, и благодаря архитектуре клиент-сервер 3D графика распространяется по сетям на любые другие PEX системы, подобно тому, как это происходит в X Window для 2D графики.

    Как и Starbase, PEX предоставляет графическую библиотеку высокого уровня, в которой поддерживается дисплейный файл, возможность генерации изображения в непосредственном и структурном режиме. Библиотеки PEX включены в HP-UX для всех серверов и рабочих станций.

    OpenGL рассматривается в качестве перспективного 3D графического API. Компания HP приобрела лицензию на OpenGL и разрабатывает на нем ряд продуктов, а после завершения реализации OpenGL, наряду с Starbase и PEX, будет третьим стратегическим для HP графическим API. Все три планируется поддерживать и расширять для будущих графических систем. Пока компания не выпустила собственную реализацию OpenGL, можно воспользоваться версиями OpenGL для систем HP Visualize компаний Portable Graphics (http://www.portable.com) и Template Graphics Software (http://www.tgs.com).

    Кроме этого предлагаются и другие средства 3D графики. HP-PHIGS является версией стандарта PHIGS и PHIGS PLUS для систем HP. Сейчас используется HP-PHIGS Version 3, распространяемая с 1994 года. С небольшими дополнениями HP-PHIGS поддерживается в HP-UX 10.x. Многие прикладные разработчики перешли на более новые по сравнению с PHIGS стандарты, в частности на PEX. Пока не определено, будет ли HP-PHIGS поддерживаться в HP-UX 11.x. Open Inventor - объектно-ориентированное средство для программирования 3D сцен и 3D графических интерфейсов, поставляется для систем HP Portable Graphics, Inc. и Template Graphics Software. IRIS EXPLORER - система интерактивного построения графических приложений в области визуализации данных, поставляется корпорацией NAG (http://www.nag.com).

    Оценка графических систем HP Visulize

    Показатели вычислительной и графической производительности систем HP Visualize приведены в таблицах 1 и 2. Основываясь на них можно сделать следующие выводы. Подсистема Visualize-8, поддерживая технологию Восстановления Цветов, может применяться в не слишком крупных приложениях, связанных с механическим проектированием трехмерных объектов и представляет собой относительно дешевое решение. Visualize-24 с реальным 24-разрядным цветом обеспечивает уровень более высокого класса для основной массы этих приложений.

    Visualize-48 показывает необходимую производительность для 3D твердотельных приложений, а наличие виртуального кэша объемом 16 Мбайт для хранения текстуры позволяет использовать при моделировании фактуру реальных материалов. Подсистема имеет двойную буферизацию в режиме True Color и высокоскоростную шину, обеспечивающую гладкое вращение и анимацию. HP Visualize-48XP обладает самыми высокими среди ускорителей настольных графических станций показателями производительности (424 PLBsurf, 365 PLBwire) и может применяться в приложениях Виртуальной Реальности.

    Однако, следует заметить, что сравнивать графическую производительность систем разных фирм трудно по нескольким причинам. Например, считается, что графическая производительность лучше всего оценивается тестами PLBsurf и PLBwire. Однако, Silicon Graphics, например, придерживается другого мнения и использует тесты Viewperf. Эти тесты измеряют количество кадров в секунду, генерируемых графической системой на стандартных наборах данных. Возможно это и более объективная оценка, но пока мало кто из производителей ее приводит.

    Выводы

    Заключение, что хорошие графические ускорители для настольных графических станций имеются только у компании Hewlett-Packard, было бы неверным. Да, системы HP Visualize очень мощные, в них есть интересные технические решения, но, как показывает практика, к лидерам быстро подтягиваются остальные. Так, например, DEC в августе 1996 г. тоже объявила о выпуске графических станций AlphaStation 500/500 с новыми ускорителями PowerStorm. Более правильно, по-видимому, считать, что графические станции HP Visualize установили новый уровень требований к производительности и цене графических систем.


    Литература

    1. Д.Волков: Графические средства современных RISC-систем, Открытые системы 5, 1995, сс. 43-47.