1997.06.14, Автор: Боб Уэйбел2704 прочтений

Свет, камера, мотор

Теги: Справочник покупателя Справочники покупателя Publish

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


Казалось, что это невозможно
Рендеринг
От образа в памяти к пикселам на экране
Слагаемые реалистичности
Другие компоненты трехмерных ускорителей
Трехмерный рабочий стол

Платы трехмерных акселераторов


Пользователи еще не успели по-настоящему насладиться скоростью вывода на экран двухмерной графики и привыкнуть к тому, что графический адаптер можно приобрести по доступной цене, а технологии уже требуют взятия новых высот - речь идет о трехмерном рендеринге. В то время, как рекламные заголовки пестрят предложениями дешевых трехмерных графических акселераторов, позволяющих окунуться в мир современных компьютерных игр, настоящие ценители графики выискивают для себя платы трехмерных ускорителей, спроектированные специально для профессиональной работы с компьютерными изображениями и анимацией. Эти платы стоимостью от 500 до 5000 долл. относятся к устройствам старшего класса и ориентированы на художников и аниматоров (как создающих трехмерные иллюстрации, так и работающих в сфере развлечений), а также на людей, занимающихся компьютерным проектированием (САПР и системы автоматизации производства), научным моделированием и другими видами промышленного использования компьютерной графики. Хотя мы будем рассматривать наиболее мощные и дорогие трехмерные акселераторы, бережливым покупателям стоит обратить внимание еще на две платы с довольно высокой производительностью: Millenium II (299 долл.), разработанную компанией Matrox Electronics, и Imagine 128 (699 долл.), выпущенную фирмой Number 9 Technologies. Обе платы не только прекрасно работают с двумерными изображениями, но и обладают хорошими средствами ускорения трехмерной графики.

Казалось, что это невозможно

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

Рендеринг

Плата высокопроизводительного акселератора не предназначена для создания графического образа в памяти компьютера - это работа процессора. Акселератор отвечает за ускорение вывода трехмерного изображения на экран дисплея, причем он должен обеспечивать приемлемые время и качество рендеринга. Без использования возможностей акселератора путь изображения к экрану становится слишком долгим, особенно это касается анимации. Поскольку анимация (при которой одно изображение сменяет другое с частотой 30 кадров в секунду) требует очень интенсивных вычислений, большинство производителей высококлассных трехмерных акселераторов любят акцентировать внимание на совместимости своих плат со специальным программным обеспечением, в частности, с пакетами 3D Studio Max компании Kinetix и Microsoft SoftImage.

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

От образа в памяти к пикселам на экране

Отображение на экране трехмерных иллюстраций требует большого объема вычислительных операций. Дело в том, что данные, описывающие объекты, освещение, атмосферу и точки зрения на трехмерную сцену, должны быть преобразованы в плоское изображение с тенями, наложенными текстурами и другими эффектами, придающими картине реалистичность. Эта задача возлагается на специальные наборы микросхем трехмерной обработки, которые с помощью математических преобразований превращают объекты создаваемого изображения в точки, отображаемые на экране. В большинстве включенных в обзор продуктов используется набор микросхем Glint, разработанный компанией 3Dlabs, хотя иногда встречаются и микросхемы других производителей. В дорогих платах может быть установлено более одного процессора, что позволяет существенно ускорить вычисления.

Микросхемы трехмерного рендеринга могут взаимодействовать со специальным препроцессором обработки треугольников (triangle setup preprocessor), который иногда называют также геометрическим препроцессором. Все схемы трехмерного моделирования и анимационные программы представляют объекты в виде совокупности пересекающихся треугольников (или других многоугольников) и в общем случае должны выполнить некоторые вычисления для преобразования этих треугольников в данные, непосредственно отображаемые на экране. Микросхемы, обрабатывающие треугольники, освобождают процессор компьютера от этой работы и таким образом повышают общую производительность вывода трехмерной графики.

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

Слагаемые реалистичности

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

Сглаживание (antialiasing) выравнивает цвета смежных пикселов, чтобы убрать зазубрины, появляющиеся на кривых и диагоналях. Альфа-смешение (alpha-blending) позволяет придать какому-либо предмету ту или иную степень прозрачности, в результате чего становится виден объект, находящийся за ним. При 24-разрядной глубине цвета многие платы используют дополнительный 8-разрядный альфа-канал, дающий возможность задавать 256 уровней прозрачности. В случае 15-разрядной глубины цвета (32 768 цветов) дополнительный бит задает два уровня прозрачности или затенения. Процесс придания объекту прозрачности иногда называют наложением. При этом 16-разрядная глубина цвета, поддерживаемая платой, превращается в 15-разрядную вследствие использования дополнительного бита для управления прозрачностью. Закраска по методу Гуро (Gouraud shading) позволяет добиться натурального отображения теней в трехмерных иллюстрациях, а также смешения цветов каждого многоугольника для получения эффекта мягкого освещения. Закраска по методу Гуро не позволяет отображать мельчайшие подробности, обеспечиваемые более сложными алгоритмами, например, закраской по методу Фонга (Phong shading), однако объем вычислений для реализации метода Гуро меньше, а качество изображения в большинстве случаев остается вполне приемлемым. Во многих платах аппаратно реализованы эффекты тумана (fog) и других атмосферных явлений. В этом случае пикселы, из которых состоят удаленные объекты, прорисовываются бледнее или модифицируются иным образом.

Другие компоненты трехмерных ускорителей

Третье измерение строится путем обработки Z-буфера, в который заносится информация о перекрывающихся объектах. В простейшем случае плата должна определять момент, когда пиксел, подготовленный к выводу, закрывается более близко расположенным объектом. Если плата распознает такую ситуацию, закрытые пикселы не отображаются. Z-буферы с 24- или 32-разрядной информацией о глубине обеспечивают хорошую точность, в то время как использование 16-разрядного буфера или буфера с еще меньшей разрядностью может в некоторых случаях порождать неопределенность. Недостаточные размеры Z-буфера приводят к отображению тех пикселов, которые не должны отображаться. Например, задняя стена виртуального дома может появляться одновременно с передней.

Еще одним существенным параметром, влияющим на качество изображения (особенно при двойной буферизации), является глубина цвета (16-разрядный или полный 24-разрядный цвет), поддерживаемая платой акселератора в режиме максимального разрешения. Обычно платы с большим объемом памяти или более эффективным ее распределением обеспечивают 24-разрядную глубину цвета в режиме наивысшего разрешения без ее снижения до 16 или 15 разрядов. Все платы за исключением модели AGC-GL500 Pro, выпускаемой компанией MicroStep, включают встроенную видеосхему VGA (или Macintosh), поэтому вам нет необходимости устанавливать отдельный адаптер для стандартного двумерного видео.

Платы на базе микросхем Glint обычно поставляются с банком высокоскоростной видеопамяти (VRAM), в которой хранятся кадровые буферы, и отдельным пулом динамической памяти (DRAM) для размещения текстурных схем, Z-буферизации и выполнения других функций. В других платах, например серии Oxygen компании Dynamic Pictures, имеется один пул высокоскоростной синхронной памяти DRAM или памяти иного типа. Такое решение дает пользователям возможность самостоятельно выбирать конфигурацию памяти. Поэтому, если в большом количестве текстур нет необходимости, для их хранения выделяется меньший объем памяти, а больший резервируется для выполнения других функций.

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

Трехмерный рабочий стол

Роль шлюза между операционной системой и аппаратной частью трехмерного акселератора выполняет драйвер, который обычно обращается к одному из стандартных интерфейсов прикладных программ (application program interfaces, API). Платы, совместимые с Macintosh, осуществляют вывод на экран через интерфейс QuickDraw 3D, разработанный фирмой Apple. Интерфейсы OpenGL и Heidi, выпущенные соответственно компаниями Silicon Graphics и AutoDesk, являются двумя основными API для приложений Windows NT.

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

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


Обозреватель Боб Уэйбел является постоянным автором журнала Publish. В своих статьях он рассматривает вопросы, связанные с аппаратным и программным обеспечением.

Платы трехмерных акселераторов

Компания

Продукт

Цена по прейскуранту

Набор микросхем для обработки трехмерного изображения

Препроцессор, обрабатывающий треугольники

Текстурные схемы

Сглаживание

Альфа-смешение

Закраска по методу Гуро

Туман

Z-буфер (при разрешении 1280х1024)

Глубина цвета

VRAM/DRAM (Мбайт)

Частота регенерации (Гц)

Поддерживаемые платформы

API

1160x1200 1280x1024 1152x870 1024x768 800x600 1024x768 1280x1024 1160x1200 OPEN GL HEIDI QUICK-DRAW 3D DIRECT 3D
AccelGraphics www.accelgraphics.com AccelPro Mx 2395 Glint MX Glint Delta + + + + + 24 15 15 24 24 8/16-40 85 85 85 85 Windows NT + + - -
AccelEclipse 3495 Mitsubishi 3D Pro Встроенный + + + + + 24 н/п 24 24 24 15/4-16 CDRAM 75 75 75 н/п Windows NT/95 + + - -
AccelStar II 350 3Dlabs Permedia 2 Встроенный + - + + - 16 н/п 16 24 24 8 SGRAM 85 85 85 н/п Windows NT/95 + + - -
Diamond Multimedia Systems www.diamondmm.com DiamondFireGL 1000 300 3Dlabs Permedia Glint Delta + + + + + 16 16 16 24 24 8 SGRAM 120 85 100 (16 бит) 75 (16 бит) Windows NT/95 + - - -
Diamond FireGL 3000 1299 Dual Glint 500TX Glint Delta + + + + + 16 16 16 24 24 8/32 DRAM 75 100 100 (16 бит) 85 (16 бит) Windows NT/95 + + - +
Diamond FireGL 4000 2995 Mitsubishi 3D Pro с E&S RealImage Встроенный + - + + + 32 н/п 24 24 24 15 3D RAM/ 4-16 CDRAM 130 120 100 н/п Windows NT/95 + + - +
Dynamic Pictures www.dypic.com Oxygen 102 995 Oxygen Встроенный + + + + + 16 н/п 16 16 16 8 SDRAM 100 100 85 н/п Windows NT/95 + + - -
Oxygen 202 2095 Dual Oxygen Встроенный + + + + + 24 н/п 24 24 24 16 SDRAM 75 75 75 н/п Windows NT/95 + + - -
Oxygen 402 3695 Quad Oxygen Встроенный + + + + + 24 н/п 24 24 24 32 SDRAM 75 75 75 75 Windows NT/95 + + - -
ELSA www.elsa.com Gloria-L 1099 Glint 500TX Glint Delta + + + + - 32 15 15 24 24 8/8-16 160 160 113 80 Windows NT/95, OS/2 Warp + + - +
IX Micro www.ixmicro.com Ultimate Rez 3D 699 549 PC Macintosh IX Micro TwinTurbo 128-3D Встроенный + - + + + 24 16 16 24 24 8 VRAM 150 150 100 90 Windows NT/95 + + + +
Intergraph Computer Systems www.intergraph.com Intense 3D Pro 1000 GT 4751 Intergraph Panther На второй плате + + + + + 32 24 24 24 24 20 SDRAM 85 85 75 н/п Windows NT + + - -
MaxVision 3DmaxPD8 575 3Dlabs Permedia Glint Delta + + + + + 16 н/п 16 16 24 8 SGRAM 85 85 85 60 Windows NT + + - +
Glmax88T 1995 Glint 500TX Glint Delta + + + + + 24 16 16 24 24 8 / 8 85 85 85 60 Windows NT + + - +
MicroStep www.microstep.com AGC-GL500Pro M1616 1650 Glint 500TX Glint Delta + + + + + 24 32 32 32 32 16 / 16 85 85 85 85 Windows NT/95 + - - +
Newer Technology www.newertech.com RenderPix PCI/500 1395 Glint 500TX Glint Delta + + + + - 24 16 16 32 32 8 /16 72 75 75 75 Power Macintosh + - + -
RenderPix PCI/502 2995 Dual Glint 500TX Glint Delta + + + + - 24 16 16 32 32 8 / 32 72 75 75 75 Power Macintosh + - + -
Omnicomp Graphics www.omnicomp.com 3Demon Pro88 1595 Glint 500TX Glint Delta + + + + + 32 16 16 32 32 8 / 8-32 85 85 85 60 Windows NT/95 + + - +
3Demon Pro1616 2995 Glint 500TX Glint Delta + + + + + 32 32 32 32 32 16 / 8-32 85 85 85 60 Windows NT/95 + + - +
Radius www.radius.com Thunder 3D 2199 Glint 500TX Glint Delta + + + + - 32 16 16 32 32 8 / 24 75 75 75 75 Power Macintosh - + + -
Symmetric www.symmetric.com Glyder MX 1799 Glint MX Glint Delta + + + + + 32 16 16 24 24 8 / 8-32 85 85 75 75 Windows NT/95 + + + +
Glyder TX 1299 Glint 500TX Glint Delta + + + + + 32 16 16 24 24 8 / 8-32 85 85 75 75 Windows NT/95 + + + +
Glyder MP 2799 Dual Glint 500TX Glint Delta + + + + + 32 16 16 24 24 8 / 32 85 85 75 75 Windows NT/95 + + + +

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

На ту же тему:

comments powered by Disqus