14 декабря 2019 года    
Суббота | 08:34    
Главная
 Новости
Базы данных
Безопасность PC
Всё о компьютерах
Графика и дизайн
Интернет-технологии
Мобильные устройства
Операционные системы
Программирование
Программы
Связь
Сети
 Документация
Статьи
Самоучители
 Общение
Форум







Разделы / Всё о компьютерах / О компьютерах

3D-стандарты для пользы и удовольствия.


3D-стандарты для пользы и удовольствия

 

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

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

И вот только из-за того, что какой-нибудь Hexen II или Diablo вдруг начинает “притормаживать”, вы мрачнеете и начинаете считать дни, оставшиеся до очередной безумной траты, выкраивать финансы и судорожно перелистывать статьи про upgrade. Да-да, именно поэтому, а никак не потому, что Интернет-браузер грузится четыре минуты, а на пятую “падает”, оставляя невразумительные таблички... Причину покупки новой, безумно дорогой и невероятно “навороченной” системы с процессором Pentium II нужно искать не в “задумчивом” текстовом процессоре Word 7.0 или слишком медлительном Excel — с такими мелочами вполне можно было бы смириться, по крайней мере до тех пор, пока цены на “железо” не упадут. Причина нетерпения кроется именно в играх, которые на сегодняшний день, как это ни парадоксально, являются одними из самых “тяжелых” приложений и выжимают из любого компьютера все до последнего мегагерца. Особую “тяжесть” играм придают новомодные трехмерные “заморочки”, стяжавшие невероятную популярность за три последних года.

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

Производители

Web-узлы

Порты OpenGL и прочие драйверы:

Разработчики игр отлично понимают, на что “клюют” пленники виртуальной реальности, и стараются ориентироваться на самое новое и мощное “железо” порою задолго до его официального выпуска. Действуя по этой схеме, они “наворачивают” на PC такие шедевры, которые еще вчера казались совершенно невозможными даже на суперкомпьютерах. Производители компьютеров и комплектующих делают очередной шаг в этой бесконечной гонке, снова наращивая мощь аппаратного обеспечения. Очень показательна фраза, которую как-то обронил один из сотрудников компании Intel: “Нам нравятся игры, которые хорошо работают только на самых мощных и быстрых процессорах и используют все ресурсы компьютера. А разработчикам игр тоже очень нравятся мощные “железки”, которые позволяют создавать совершенно новые, оригинальные эффекты”.

Некоторые читатели, дойдя до этого места, могут стукнуть кулаком по столу и возмущенно вскрикнуть: “Да это же сговор! Они же элементарно выжимают из нас деньги!” Да, не секрет, что за удовольствие надо платить. Возможно, создатели сегодняшних игр во многом идут напролом, делая ставку на экстенсивное развитие оборудования, вместо того чтобы годами оттачивать алгоритмы, добиваясь необходимого быстродействия даже на устаревших машинах. Возможно... Однако признайтесь, никто из нас не согласится годами ждать новых игр, какими бы привлекательными они ни казались. Круг замкнулся: мы требуем все новых и более совершенных развлечений, а они, в свою очередь, становятся все требовательнее к аппаратному обеспечению, которое, естественно, редко останавливается на достигнутом...

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

Нынешняя игровая индустрия — это своеобразный испытательный полигон для различных “примочек” и “технологических причуд”; именно по ее запросам можно с большой долей вероятности предсказать, какие нововведения появятся в будущих деловых и графических приложениях на серьезных” компьютерах. Скажем, трехмерные игры вполне могут дать начало развитию 3D-интерфейсов, о которых так давно говорят (кстати, подобные интерфейсы уже существуют, например, Microsoft Bob).

Компоненты

Что же представляет собой современный игровой компьютер? Конечно, это мультимедийные устройства: привод компакт-дисков, звуковая плата и колонки. Но сегодня для хорошего игрового компьютера во главу угла, бесспорно, следует поставить видеоадаптер. Нынешние игры, как никогда прежде, встречают “по одежке. Даже самый смелый и оригинальный сюжет не спасает плохо оформленную композицию. Я уже не говорю о трехмерных аркадах типа Quake, Unreal, Hexen и Jedi Knight — в них выразительная и эффективная графика решает практически все.

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

Microsotf DirectX 6.0

Одна из основных задач новой версии DirectX 6.0 — создание мультимедийных приложений для грядущей версии Windows NT 5.0. В DirectX 6.0 усилена поддержка 3D-функций и добавлен DirectMusic — интерфейс доступа к MIDI-устройствам. Первая бета-версия появилась еще весной, а встроить DirectX 6.0 в Windows NT 5.0 планируется к концу года (когда, собственно, и выйдет NT 5.0). Появившаяся недавно в продаже Windows 98 укомплектована версией DirectX 5.0, которая уже давно распространяется с сервера Microsoft.

Причем его преобразования должны осуществляться с высокой скоростью (чтобы излишняя “медлительность” не раздражала пользователя), а сам он — оставаться реалистичным. Первое достигается быстрой сменой кадров, сравнимой с телевидением или кино: человеческий глаз воспринимает картинки, сменяющиеся с частотой около 15-30 кадров в секунду (FPS — Frame Per Second), как непрерывный фильм. Реалистичность трехмерного мира достигается использованием полноцветных текстур с большим разрешением, которыми “обтягиваются” все присутствующие в сцене объекты, динамическим изменением освещения, имитацией физических законов реального мира (гравитация, деформация предметов при соударениях и т.д.), а также применением различных спецэффектов (таких как туман или дымка, полупрозрачные тени или огненные всполохи).

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

О красочности и скорости трехмерных игр, работающих без акселератора, можно легко составить впечатление по обыкновенным версиям Quake или Hexen. Графика в них, бесспорно, недурна, но по мере приближения к предметам текстурные точки превращаются в большие квадраты, а скорость перерисовки в SVGA-режимах даже на достаточно мощных машинах оставляет желать лучшего. Трехмерные акселераторы позволяют кардинально улучшить качество изображения и скорость визуализации.

Graphic1.jpg (35414 bytes) Graphic2.jpg (31936 bytes) Graphic3.jpg (34285 bytes)
Так выглядит Quake II, использующий возможности 3D-акселерации чипсета Voodoo 2

3D-акселераторы появились на рынке персональных компьютеров лишь несколько лет назад и поначалу не получили широкого распространения, так как игровая индустрия делала только первые шаги к созданию трехмерных игр. Первоначально 3D-платы использовались преимущественно профессиональными разработчиками трехмерной графики, применялись в специализированных графических станциях и стоили очень дорого. Эти устройства были, как правило, специально оптимизированы для решения определенных задач — аппаратного текстурирования, z-буферизации, просчета световых и атмосферных эффектов. Причем, как правило, акселераторы использовались только для предварительного просмотра 3D-сцен и не успевали просчитывать их в режиме реального времени. Иногда аппаратная акселерация применялась и для финального рендеринга, но тогда на протяжении нескольких часов нужно было считать кадр за кадром, чтобы затем соединить их в один связный фильм. Акселератор требовался для того, чтобы сократить время просчета с нескольких дней до нескольких часов. А системы реального времени считались уникальными.

Graphic4.jpg (208352 bytes)
При работе Quake II с акселератором Diamond Monster 3DII часто возникают сбои

И только сравнительно недавно с появлением большого количества трехмерных игр, в которых сцены динамически (в режиме реального времени) изменялись в зависимости от действий игрока, 3D-акселераторы вышли на массовый рынок. Игры совершенствовались, трехмерные вычисления, необходимые для визуализации все более и более реалистичных сцен, усложнялись, и центральные процессоры уже не могли обеспечить должной скорости отображения. Теперь 3D-акселераторы стали просто необходимы.

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

Кстати, следует отметить, что, впервые появившись в персональных компьютерах исключительно для игровых приложений, некоторые 3D-акселераторы, поддерживающие графический стандарт OpenGL, стали успешно применяться и для решения традиционных задач в пакетах трехмерной графики и анимации (КГА).

3D-стандарты

Проблемы выбора

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

Рынок профессиональных 3D-акселераторов уже более или менее устоялся, не так много и здесь внушающих доверие производителей, а стандарты профессиональной графики ясны (например, непременным атрибутом такой графической платы должна быть поддержка стандарта OpenGL). В то же время массовый рынок 3D-плат — один из самых пестрых. На нем присутствуют десятки производителей и моделей самых различных классов, и его часто сравнивают с рынком звуковых карт, существовавшим несколько лет назад. Тогда также имелось громадное количество различных, часто несовместимых друг с другом стандартов и решений, которые продвигала та или иная компания, а сегодня мы видим: из борьбы вышли победителями всего две-три технологии (такие как Creative Sound Blaster, Adlib или Gravis UltraSound).

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

Единого всеобъемлющего 3D-стандарта пока не существует ни на аппаратном, ни на программном уровне (хотя есть все основания предполагать, каким будет этот стандарт). В войне за стандартизацию принимает участие огромное количество компаний, начиная с таких монстров, как Intel, SGI, AMD, Apple и Microsoft, и заканчивая “вольными стрелками” — небольшими компаниями, которые, используя поднявшуюся волну популярности 3D-акселераторов, спешат сделать себе имя и отхватить свою долю прибыли.

В чем же проблема? Известно, что сердцем 3D-акселератора является набор графических микросхем (3D-chipset). Именно на его основе и создается та или иная модель 3D-платы или видеоадаптера со встроенным 3D-акселератором. Взаимодействие “ускоряемой” программы с тем или иным набором микросхем осуществляется с помощью драйверов и (на программном уровне) графических библиотек.

Сами драйверы могут быть реализованы на разном уровне — это либо инсталлируемый высокооптимизированный драйвер низкого уровня, специально написанный для конкретного набора микросхем, либо драйвер высокого уровня, в котором “ленивый” производитель платы лишь заменяет одну-две стандартные функции на оптимизированные для своего набора микросхем с аппаратной поддержкой кода.

На рынке присутствует очень много наборов микросхем, и такое изобилие, естественно, усложняет проблему выбора. Казалось бы, что может быть проще: необходимо лишь выбрать самую производительную модель, которая вам по карману, и — вперед, в магазин. Однако положение осложняется тем, что “война стандартов” породила массу различных, зачастую несовместимых друг с другом аппаратных и программных решений. В результате, при взаимодействии с определенными моделями акселераторов одни приложения “ускоряются”, а другие, напротив, ведут себя не лучшим образом. Это обусловлено несовместимостью драйверов некоторых плат с графической библиотекой, которая использовалась при создании того или иного приложения.

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

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

Графические 3D-библиотеки, или так называемые интерфейсы программных приложений (API — Application Programming Interface), предназначены для того, чтобы, задав некоторые общие методы обработки графики программным обеспечением, облегчить и ускорить процесс создания приложений, которые используют трехмерную графику — объемные объекты, свет, перспективу, деформации и т.д. 3D-возможности не программируются каждый раз заново: применяются стандартные функции из уже существующей библиотеки. При работе над тем или иным графическим эффектом программисту необходимо лишь обратиться к библиотечной функции, задать ей определенные параметры и получить готовый результат. Многие графические библиотеки (например, Direct3D) рассчитаны на комбинированную работу — как с 3D-акселераторами, так и с центральным процессором. Если акселератор в системе не найден или не поддерживает данную функцию, библиотека “переложит” всю работу на центральный процессор и трехмерный эффект все равно будет достигнут (правда, это займет гораздо больше времени).

Из наиболее популярных на сегодняшний день графических библиотек можно назвать Direct3D, OpenGL, специально разработанную компанией 3Dfx для игровых приложений библиотеку Glide API и QuickTime3D.

Пока только три API трехмерной графики получили широкое распространение на PC — Direct3D, Glide API и OpenGL. Все они имеют свои плюсы и минусы, но до сих пор каждый из них находится в своей нише: Direct3D и Glide API — это общепринятые API для трехмерных игр, а OpenGL — для профессиональных программ трехмерного моделирования и автоматизированного проектирования (CAD/CAM). Однако в последнее время благодаря своей мощи, простоте и доступности для изучения в играх все чаще начинает использоваться OpenGL.

Direct3D

Графическую библиотеку Direct3D, входящую в набор библиотек Microsoft DirectX, можно смело назвать стандартом де-факто в игровой индустрии. Как и любая другая графическая библиотека такого класса, Direct3D представляет собой своеобразную “прослойку” между акселератором и приложением. Набор DirectX поставляется вместе с последними версиями Windows 95 OSR2, Windows 98, а также отдельно (с видеоадаптерами и дистрибутивами приложений многих производителей аппаратного и программного обеспечения). Direct3D лишь частично поддерживается в Windows NT (альтернативный стандарт OpenGL, напротив, полностью поддерживается как раз под Windows NT), но мы надеемся, что ситуация изменится в NT 5.0.

Graphic5.jpg (72470 bytes)На сегодняшний день большинство игр использует именно Direct3D, и графический ускоритель, драйверы которого не поддерживают эту библиотеку, практически не имеет шансов завоевать внимание пользователей. Однако, по мнению многих экспертов, данная библиотека крайне неудобна и не предоставляет таких богатых возможностей, как ее ближайший конкурент — OpenGL. Библиотеки Direct3D, которые входят в DirectX с 1-й по 3-ю версию, разработчики нередко считают малоперспективными, что обусловлено сложностями, возникающими при программировании на этом API. В результате Direct3D приобрела репутацию широко распространенной, но довольно слабой графической библиотеки.

Правда, Microsoft постоянно совершенствует DirectX, добавляя в Direct3D новые функции и оптимизируя указанную библиотеку. Еще весной вышла первая бета-версия DirectX 6.0, которая позволяет осуществлять 3D-расчеты еще быстрее и качественнее. В Direct3D 5 была использована новая система команд Draw Primitive, существенно облегчившая программирование на данном API. Скорость 3D-расчетов также заметно возросла. Но, несмотря на это, качество и скорость генерации трехмерных изображений с помощью Direct3D, а также легкость программирования на таком API, пожалуй, уступают более мощному 3D-стандарту — OpenGL.

Как уже отмечалось, большим плюсом Direct3D является тотальная совместимость со всеми графическими акселераторами и большим количеством трехмерных игр, достигнутая за счет верной маркетинговой политики Microsoft. Кроме того, эта библиотека, в отличие от OpenGL, практически не требует настройки.

OpenGL

Почти все профессиональные 3D-ускорители предназначены в основном для работы с OpenGL; иногда они так и называются — OpenGL-ускорители. В отличие от Direct3D OpenGL является межплатформным стандартом, что существенно облегчает перенос программ, использующих такой API, на другие платформы, в том числе на PC, Mac и SGI. Для платформы PC на рынке уже имеется довольно много OpenGL-ускорителей, что подталкивает разработчиков к переносу своих 3D-приложений на данную платформу. Стоит напомнить: даже знаменитая компания Silicon Graphics объявила о поддержке этой платформы и выпустила свой основной продукт — Maya, который рассчитан на работу под управлением Windows NT. Сейчас компания планирует производство собственных компьютеров на этой платформе.

Как известно, графическая библиотека OpenGL разрабатывалась в компании Silicon Graphics, которая многие годы производила высокопроизводительные графические станции. Приложения, работавшие на этих станциях, использовали для визуализации трехмерных сцен созданную компанией графическую библиотеку с незатейливым названием GL (Graphics Library). Как ведущие специалисты по трехмерной графике программисты Silicon Graphics первыми почувствовали необходимость в стандартном API для трехмерной графики (вместо великого множества отдельных решений, существовавших прежде). И компания начала разработку соответствующего программного и аппаратного обеспечения, поддерживающего этот стандарт, которая длится и по сей день. В 1992 году Silicon Graphics занялась формированием консорциума ARB (Architecture Review Board), в который вошли компании, поддерживающие OpenGL в качестве стандарта. В настоящее время членами ARB являются фирмы Digital Equipment Corporation, Evans & Sutherland, Hewlett-Packard, IBM, Intel, Intergraph, Silicon Graphics, Sun Microsystems и, конечно, Microsoft.

OpenGL — очень мощная в техническом отношении, легкая в применении, хорошо отлаженная и проверенная графическая библиотека. Большое количество приложений (в основном, профессиональных пакетов для создания трехмерной графики) написано с использованием OpenGL. Эта библиотека имеет громадные преимущества:

  • стабильность. Данный API является стандартом более пяти лет. Различные дополнения тщательно контролировались и заранее анонсировались, чтобы разработчики могли учитывать изменения, соблюдая все требования совместимости “снизу вверх”, и чтобы даже ранние OpenGL-приложения не устарели;
  • переносимость. OpenGL-приложения гарантированно дают одинаковые визуальные результаты на OpenGL-совместимом оборудовании, независимо от операционной системы или графической оболочки;
  • масштабируемость. OpenGL-приложения выполняются на различных системах — от PC до суперкомпьютеров, поэтому приложения можно легко переносить на любую платформу;
  • удобство использования. OpenGL хорошо структурирована и понятна программистам. Информация об аппаратном обеспечении содержится в драйверах, что освобождает разработчиков от необходимости выяснять специфические особенности оборудования. Кроме того, можно использовать множество уже разработанных и отлаженных OpenGL-подпрограмм.

Для взаимодействия OpenGL с конкретным акселератором помимо специальных команд программе необходим драйвер к видеоакселератору и специально написанный порт (в Windows 95/98 он называется opengl32.dll и находится в каталоге \system). Когда стандарт GL стал открытым, компания Microsoft создала собственный порт для OpenGL — MCD (Mini Client Driver), позволяющий задействовать основные возможности библиотеки OpenGL и способный функционировать (правда, очень медленно) даже без использования акселератора, только благодаря ресурсам центрального процессора. MCD поставляется с Windows NT, Windows 98, а в последнее время — и с Windows 95 (начиная с OSR2). Если у вас Windows 95 более ранней версии, то вы можете скопировать MCD с Web-узла Microsoft.

Graphic6.jpg (118424 bytes)OpenGL 1.2

ARB-совет OpenGL, состоящий из восьми компаний (Microsoft, Silicon Graphics, DEC, IBM, Intel, Intergraph, Evans & Sutherland и Hewlett-Packard), утвердил спецификацию межплатформного 2D- и 3D-API — OpenGL 1.2. Среди улучшений и новинок можно выделить следующие: аппаратное ускорение при текстурировании объема (volume-рендеринг), поддержка уровней детализации текстур, упакованные форматы файлов, реалистичные блики на текстурированных объектах, сглаживание ребер и масштабирование нормалей. Технологию лицензируют все крупнейшие производители графических 3D-карт, включая 3Dfx, Matrox, 3Dlabs, ATI, Diamond, Creative, S3 и др.

Однако здесь фирма Microsoft “слукавила”. Дело в том, что OpenGL-порт возможно реализовать в двух вариантах — как ICD и MCD. Первый из них, ICD (Installable Client Driver), — это высокооптимизированный драйвер низкого уровня, который обеспечивает максимальное быстродействие на аппаратном уровне. ICD-порт довольно сложно программировать, поскольку создатель драйвера вынужден реализовывать все функции OpenGL. Второй, MCD, — это программный порт, позволяющий подменять те фрагменты кода, которые разработчик считает нужным оптимизировать для конкретного оборудования. Однако MCD сильно уступает ICD в быстродействии. Более того, если 3D-программа использует функцию, не имеющую в MCD-драйвере аппаратной поддержки, то аппаратное ускорение отключается совсем. Все профессиональные платы имеют собственные ICD-драйверы, и их высокая цена во многом обусловлена сложностью программирования такого драйвера.

Graphic7.jpg (329492 bytes)Microsoft утверждает, что идеальным решением для разработчиков игр является все же ее собственная библиотека Direct3D, а OpenGL — стандарт для профессиональных приложений CAD/CAM и трехмерной анимации. На деле же Direct3D и OpenGL — библиотеки, предназначенные для одних и тех же целей. По мнению многих экспертов и разработчиков игр, OpenGL ничуть не хуже, а даже лучше подходит для создания игровых приложений. Однако MCD-порт, созданный Microsoft, не позволяет использовать все функции OpenGL, что делает эту библиотеку действительно более слабой, чем Direct3D.

Основное предназначение порта MCD — ускорение процесса окончательной растеризации изображения (например, при удалении так называемых скрытых линий, то есть выяснении того, какие точки трехмерной сцены закрыты от глаз наблюдателя другими объектами). Конечно, растеризация — важная часть процесса 3D-просчетов, но не более чем часть. Поэтому порт MCD не позволяет производителям акселераторов добиться максимального ускорения того или иного приложения. К примеру, акселераторы, которые обеспечивают оптимизацию расчетов световых эффектов или деформаций трехмерных объектов, не используют эти функции, работая с портом MCD. Кроме того, данный порт не дает возможности производителям акселераторов при написании драйверов вводить в библиотеку дополнительные функции, не предусмотренные спецификацией OpenGL.

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

Graphic8.jpg (286913 bytes)Специальный ICD-порт, разработанный компанией Silicon Graphics, активно применяется для ускорения приложений под Windows NT. В последнее время многие производители акселераторов стали включать в комплект драйверов собственные версии ICD-портов, позволяющие наиболее эффективно использовать все возможности ускорения, которые предоставляет тот или иной 3D-набор микросхем. Кроме того, производители могут свободно добавлять в порты ICD новые, не предусмотренные в OpenGL функции, что обеспечивает расширение списка функций этой библиотеки и появление ее модификаций.

Еще год назад стандарт OpenGL практически не поддерживался Windows 95 — разработчики игр пользовались в основном Direct3D, а производители видеоакселераторов поставляли со своими моделями набор DirectX. Однако ситуация начала активно меняться — начиная с сентября 1997 года буквально каждый месяц то один, то другой производитель чипсета для 3D-акселерации выпускали бета- или альфа-версии оптимизированных ICD-портов. Появилось немало игр, рассчитанных на работу с OpenGL (Quake II, Unreal, Hexen II и т.д.). В настоящее же время тенденция к поддержке OpenGL на платформе PC наметилась совершенно четко — эта графическая библиотека приобретает все большую популярность среди производителей игрового ПО и создателей акселераторов трехмерной графики. Анонсированы или на подходе MCD- и ICD-порты для таких наборов микросхем, как nvidia Riva 128, Intel 740, Voodoo, Voodoo II, Rendition Verite, Permedia 2, Permedia NT…

При переключении в режим OpenGL-акселерации массу проблем порождает существование большого количества ICD-модификаций, которое влечет за собой трудности с настройкой и запуском игр и приложений. Многие производители модифицируют OpenGL (с помощью ICD-порта) для максимального “тюнинга” на ту или иную плату 3D-ускорения, делая это не всегда корректно, что приводит к трудностям при взаимодействии кода OpenGL в некоторых приложениях с соответствующим ICD-портом.

Graphic9.jpg (268869 bytes)При взаимодействии с портом MCD также зачастую не все проходит гладко, поскольку разработчикам еще не хватает опыта в адаптации игр к работе с OpenGL. Драйверы некоторых видеоакселераторов могут плохо сопрягаться даже с примитивным MCD-портом.

Существование большого количества 3D-акселераторов и модифицированных версий портов ICD привело к интересной ситуации: хотя OpenGL легок в программировании, предоставляет широкие возможности акселерации и позволяет создавать потрясающие 3D-эфффекты, на деле определенные версии игр (например, Hexen II) с поддержкой OpenGL очень тяжело заставить работать. Видимо, дело в том, что в игровой индустрии данный стандарт еще не начал активно использоваться, а производители 3D-акселераторов еще “не набили руку” в написании и отладке ICD-портов и драйверов к своим изделиям.

Однако все эти проблемы при желании можно решить. Думаю, что вскоре в дистрибутивы трехмерных игр будут включаться подборки драйверов и ICD-портов для различных моделей акселераторов. Истории уже известны такие примеры: несколько лет назад, во время активного перехода на видеоадаптеры, поддерживающие режимы SVGA, существовали подобные “подборки”.

Пока же разработчики игр и производители видеоадаптеров постоянно выпускают разнообразные “патчи” и “fix’ы” — небольшие (а иногда и достаточно внушительные) программки, которые исправляют ошибки в играх и обновляют драйверы. Не стоит отчаиваться, если то или иное приложение “не хочет” работать с драйверами и портом OpenGL, которые входили в комплект поставки вашего акселератора. Скорее всего, у вас устаревшая версия, и с Web-узла производителя акселератора уже можно списать исправленные и дополненные версии. Если же у вас нет доступа в Интернет, то очень рекомендую периодически обращаться в ту фирму, где вы совершили покупку, — через некоторое время драйверы должны появиться и там.

Кроме того, существуют специальные программы-оптимизаторы, которые, управляя стартовыми параметрами игры, позволяют настроить ее на оптимальную работу с имеющимся акселератором даже при “кривых” драйверах. Например, для таких игр, как Quake и Hexen II, существует маленькая программа-оптимизатор GLQ+ (http://www.idi.ntnu.no/~bjoernst/quake/glqplus). Регулируя с ее помощью стартовые параметры игр (разрешение текстур и размер дискового кэша), можно заставить эти игры неплохо работать практически в любой ситуации.

Glide API

Довольно широко распространена и разработанная компанией 3Dfx библиотека Glide API. Она поддерживается на аппаратном уровне только компанией 3Dfx, но за счет популярности наборов Voodoo Graphics и Voodoo Rush применяется во множестве игр.

Graph10.jpg (190629 bytes)По своим функциональным возможностям Glide API схожа с OpenGL. Однако Glide API, хотя и не предоставляет столь же широких возможностей межплатформного переноса приложений, специально предназначена для использования в игровых приложениях: некоторые ее встроенные функции поддерживаются только в нестандартных расширениях OpenGL. Так как эта библиотека была специально создана для наборов микросхем 3Dfx, она на все 100% использует возможности данных наборов и позволяет создавать необычайно реалистичные эффекты при достаточно высоком быстродействии. К плюсам Glide API стоит отнести и хорошо реализованную поддержку трехмерной акселерации под DOS (отсутствующую в Direct3D и OpenGL).

Graph11.jpg (161788 bytes)Маркетинг 3Dfx построен на взаимной поддержке программных и аппаратных решений: продвигая Glide API, компания создает плацдарм для внедрения своих наборов микросхем, а продавая наборы микросхем, поддерживающих альтернативные библиотеки, плавно переводит пользователей на Glide API. Пытаясь утвердить эту библиотеку и увеличить продажи акселераторов, основанных на оригинальных чипсетах, компания очень четко реагирует на изменения рынка игровых приложений, тесно взаимодействуя с разработчиками и постоянно выпуская различные исправления и дополнения к собственным драйверам и играм. Такой маркетинг только на руку многочисленным пользователям персональных компьютеров, с плеч которых снимается тяжесть поиска драйверов по необъятным просторам Интернета. Достаточно зайти на http://www.3dfx.com/download/patches/index.html, и вы получаете все драйверы и исправления.

Проблемы с настройкой, присущие приложениям, использующим OpenGL, не обошли и Glide API — компании 3Dfx, например, не удалось обеспечить полной совместимости по драйверам между старым набором микросхем Voodoo Graphics и новым Voodoo Rush.

QuickTime

Недавно фирма Apple наконец-то выпустила версию 3.0 своего стандарта QuickTime и для Windows 95/NT (ранее существовали лишь версии для MacOS и Java). Долгожданный пакет содержит анонсированные ранее новые кодеки, поддерживает потоковое видео для Интернета, имеет функции виртуальной реальности и поддерживает более 150 видеоэффектов. Стив Джобс, временный CEO Apple, утверждает, что “QuickTime для мультимедиа — все равно что PostScript для принтеров”.

В пакет QuickTime 3.0 вошел и QuickDraw 3D, который позволяет встраивать трехмерную графику, просматривать ее и управлять ею в режиме реального времени. QuickDraw 3D — пожалуй, единственная возможность для стандартизации серьезных 3D-приложений на платформе Mac. Некоторые программы трехмерной графики на этой платформе уже используют преимущества QuickDraw 3D. Однако другие приложения для Mac либо никогда не применяли трехмерную технологию Apple, либо отказались от нее. Что же касается PC-приложений, то лишь немногие из них поддерживают формат 3DMF этой архитектуры, не говоря уже о системе аппаратного ускорения RAVE.

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

3D-резюме

В заключение рассказа о стандартах графических библиотек еще раз подчеркнем, что все имеющиеся сегодня на рынке акселераторы трехмерной графики поддерживают если не идеальную, то достаточно мощную и широко распространенную библиотеку Direct3D. Кроме того, хочется процитировать слова “отца” игр DOOM, Quake и Quake II Джона Кармака о существующих стандартах (хотя они и прозвучали год назад, кардинального изменения ситуации не произошло).

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

В то время как большинство сотрудников id Software работают над Quake II, я активно занят разработкой игровой технологии нового поколения. Эта технология будет так или иначе использоваться нашей и многими другими компаниями вплоть до 2000 года, поэтому сейчас стоит задуматься над некоторыми проблемами и принять наконец-то решение.

В данный момент среди графических 3D-библиотек существует два реальных претендента на стандарт: Direct3D (Immediate Mode), созданная и продвигаемая Microsoft, и OpenGL — библиотека, разработанная компанией SGI. Microsoft, хотя и поддерживает OpenGL, всячески проталкивает вперед Direct3D, объявляя ее идеальным решением для создания игр.

Я работаю с OpenGL уже около шести месяцев и очень сильно впечатлен тем, насколько удобно и просто программировать под эту библиотеку. Месяц назад я перенес Quake на OpenGL, и нужно сказать, что данный процесс доставил мне невероятное удовольствие: это не отняло у меня много времени, код программы был понятен и прост, что дало мне возможность опробовать и применить много новых решений.

Затем я начал переносить GLQuake на Direct3D, чтобы познакомиться поближе с возможностями этой библиотеки и сравнить ее с OpenGL. И теперь знаю достаточно… Я не собираюсь заканчивать эту работу — существуют гораздо более интересные задачи, на решение которых я могу потратить свое время.

Надеюсь, что в наступающем (1997 — О.Б.) году производителей графических ускорителей удастся убедить начать поставлять свои модели с поддержкой OpenGL<...>

Мне остается только надеяться на то, что я не зря переносил Quake на OpenGL, и на то, что я все же могу немного повлиять на события, плоды которых мы будем пожинать еще очень долгое время.

Direct3D (Immdediate Mode) — ужасно неудобная графическая библиотека для программиста. Намучившись с ней, вы не получаете для своего приложения практически никаких значимых преимуществ по сравнению с другими библиотеками.

Бесспорно, с каждой новой версией Direct3D будет улучшаться, но меня не прельщает перспектива, нарисованная Microsoft: протащить по ухабам эволюции этой кривой библиотеки всех разработчиков приложений и графических ускорителей...

...Что же касается быстродействия и качества изображения, обеспечиваемого этими двумя библиотеками, то необходимо заметить, что в ближайшие несколько лет разница в скорости и качестве визуализации между корректно написанными OpenGL- и Direct3D-драйверами не будет превышать 10 процентов...”

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

“Железный марш”

Специализированные процессоры имеют архитектуру, оптимизированную под 3D-графику, они могут иметь собственную память до нескольких десятков мегабайт для буферизации и хранения текстур. В качестве примера можно упомянуть хорошо зарекомендовавшие себя процессоры семейства GLINT компании 3Dlabs. Однако они довольно дороги, а по быстродействию уступают, например, набору Mitsubishi 3Dpro — одному из самых мощных на сегодняшний день.

Отдельного внимания заслуживает процессор с 3Dfx Voodoo Graphics. Благодаря невысокой цене и великолепному качеству трехмерного изображения этот чип в течение нескольких месяцев “завоевал” почти всех производителей видеоадаптеров. Особым вниманием 3Dfx пользуется у разработчиков трехмерных игр, так как содержит наиболее подходящий именно для игровых программ набор функций.

Большинство современных решений для акселераторов позволяет аппаратно ускорить выполнение всех основных 3D-процессов — начиная с растеризации и фильтрации текстур и заканчивая динамическим изменением освещенности сцены, созданием эффекта прозрачности материалов и др. Но хотя по выполняемым функциям конкурирующие наборы микросхем очень схожи, по внутренней архитектуре они резко различаются. Многие наборы оптимизированы под конкретную графическую библиотеку, а с другими, хотя и совместимы, но работают крайне медленно.

Очень важную роль играет для 3D-акселератора объем установленной на нем видеопамяти: она используется для создания одного или нескольких кадровых буферов, хранения текстур и других данных, которые всегда должны быть у графического процессора “под рукой”. Многие платы комплектуются 4 Мбайт видеопамяти, некоторые — 6,8 Мбайт и более. Здесь уже трудно определить необходимый объем видеопамяти — все зависит от конкретного приложения.

Необходимо отметить, что с начавшимся широким распространением ускоренной графической шины (AGP), которая позволяет хранить текстуры в оперативной памяти ПК и быстро извлекать их оттуда, проблема нехватки видеопамяти должна потерять свою актуальность. В последнее время все большее распространение приобретают платы, помимо собственной памяти использующие возможности AGP-шины. До сих пор самые большие проблемы с поддержкой AGP существовали на уровне операционной системы Windows 95 — она не позволяла программам использовать AGP-память. Однако в OSR2 и вышедшей недавно Windows 98 эта проблема решена.

Чем выше разрешение и больше количество цветов, используемых при создании изображения, тем больше видеопамяти требуется для фрейм-буфера (кадровой памяти). А чем больше места занимает в видеопамяти буфер, тем меньше места остается для хранения текстур. Поэтому у акселераторов с небольшим объемом видеопамяти текстуры зачастую остаются “за бортом”. Они либо подгружаются из более медленной оперативной памяти, либо не грузятся вообще (тогда “виртуальные” предметы просто не текстурируются). Чаще всего это происходит при работе с OpenGL-версией игры, и “прикрыть наготу” удается за счет уменьшения глубины цвета (например, с 24 бит (True Color) до 16 (Hi Color) на цвет) или загрузки текстуры с пониженным разрешением (например, с разрешением 64x64 вместо 128x128).

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

Разработчики отдельных плат-акселераторов считают, что пользователю удобнее и экономичнее приобрести дополнительный 3D-ускоритель, нежели менять видеоадаптер. Однако, как показывает практика, это решение нельзя признать экономичным — отдельные платы-акселераторы порой ничуть не дешевле, чем комбинированные акселераторы-видеоадаптеры, и занимают дополнительный разъем на системной плате.

3Dfx Interactive Voodoo Graphics

Обзор наборов микросхем для трехмерной акселерации стоит начать именно с 3Dfx Voodoo Graphics — ведь сегодня это “культовый” акселератор, символизирующий для многих начало эры настоящей трехмерной графики.

Часто “3Dfx’ом” называют любую плату, осуществляющую трехмерное ускорение, что абсолютно неверно. 3Dfx — название компании, создавшей набор микросхем Voodoo Graphics для ускорения трехмерной графики и соответствующую графическую библиотеку Glide API, которая позволяет максимально использовать все возможности этого чипсета. Поскольку набор микросхем Voodoo Graphics появился на рынке одним из первых и обладал отличными характеристиками, он получил широкое распространение — на его базе было создано огромное количество акселераторов. Сразу вышло много игр, применявших библиотеку Glide API. Таким образом, набор Voodoo со своей “родной” библиотекой стал если не стандартом, то явным кандидатом на игровой стандарт.

Набор Voodoo Graphics не рассчитан на использование на одной плате с видеоадаптером — он размещается на отдельной плате и соединяется с адаптером через passthrough-кабель. Функционирует эта конструкция по следующему принципу: пока выполняются обычные приложения, акселератор “дремлет” и пропускает сигнал, идущий от видеоадаптера на монитор. В тот момент, когда начинает выполняться программа, применяющая 3D (содержащая программный код для взаимодействия с библиотеками Glide API, OpenGL или Direct3D), Voodoo Graphics “просыпается” и начинает самостоятельно генерировать трехмерное изображение, выдавая его на монитор и “заслоняя” изображение во фрейм-буфере видеоадаптера.

Видеоадаптер же в течение всей игры просто показывает то изображение, которое осталось у него в буфере перед включением Voodoo Graphics (например, desktop Windows 95/98).

Такой принцип работы имеет два существенных недостатка: во-первых, платы на Voodoo Graphics не способны работать с изображением в окне Windows, а во-вторых, когда акселератор “дремлет” и просто пропускает через себя сигнал видеоадаптера на монитор, могут возникать различные искажения изображения — либо сплющивается картинка, либо сбивается центровка экрана и т.д. Эти искажения проявляются далеко не со всеми видеоадаптерами (как правило, изображение “сплющивается” только на старых моделях видеоплат).

К достоинствам Voodoo Graphics стоит отнести высокое быстродействие и отличное качество генерируемого изображения — Glide API действительно позволяет добиваться необычайной реалистичности трехмерной сцены. Любопытно, что платы, построенные на этом наборе, можно “разгонять”. Кроме того, пользователи акселераторов, построенных на Voodoo Graphics, отмечают, что данный набор микросхем обеспечивает высокое быстродействие новых игр (более 25 кадров/с) даже на устаревших ПК (Pentium-133, Pentium-120 и даже Pentium-100).

Graph13.jpg (197905 bytes)Высокая скорость просчета трехмерных сцен достигается за счет использования в Voodoo Graphics двух графических процессоров — texelfx и pixelfx. Первый из них отвечает за работу с текстурами (наложение, сглаживание, размывание) и за специальные эффекты (динамическое изменение освещения и т.д.). Второй несет ответственность за процесс растеризации (выясняет, какие точки трехмерной сцены закрыты от глаз зрителя более “близкими” объектами, и производит удаление “скрытых линий” — невидимые объекты или их части не просчитываются). Максимальный размер видеопамяти, с которым может работать Voodoo Graphics, составляет 6 Мбайт, но чаще всего акселераторы с этим набором оснащаются 4 Мбайт видеопамяти, поэтому оптимальным графическим режимом для акселераторов с Voodoo Graphics, как правило, является 640Ѕ480 с глубиной 16 бит на цвет.

Помимо Glide API наборы микросхем 3Dfx поддерживают библиотеки OpenGL (с помощью специального порта) и Direct3D. Но хотя поддержка OpenGL и осуществлена неплохо (поскольку библиотека Glide API очень близка по своей структуре к OpenGL), Voodoo Graphics — не лучший набор для работы с “серьезными” приложениями, использующими OpenGL. Его стоит признать хорошо сбалансированным решением для игр — он обладает если и не полной, то частичной совместимостью со всеми основными графическими библиотеками. Многие игры, применяющие OpenGL или Glide API, приходится подстраивать под работу с Voodoo Graphics (в этом вам очень поможет утилита GLQ+ (http://www.idi.ntnu.no/~bjoernst/quake/glqplus).

На Voodoo Graphics построены такие платы, как Canopus Pure3D, Diamond Monster 3D, miroHISCORE 3D, Orchid Righteous 3D, Deltron RealVision Flash3D, A-Trend ATC-2465 (Helios 3Dfx Voodoo). Стоит отметить, что Voodoo Graphics уже сейчас является устаревшим (хотя и не подешевевшим) набором микросхем и компания 3Dfx предлагает новые наборы — Voodoo Rush и Voodoo 2. Поэтому, прежде чем приобрести платы на базе Voodoo Graphics, поищите более привлекательный вариант для вложения денег.

3Dfx Interactive Voodoo Rush

Этот набор микросхем является модификацией Voodoo Graphics и не предоставляет никаких новых возможностей по ускорению графики. Voodoo Rush имеет два основных отличия от своего предшественника: набор может быть интегрирован в обыкновенный видеоадаптер, а кроме того (как следствие), позволяет выполнять приложения в окне Windows.

Однако и здесь не обошлось без ограничений: из-за архитектурных особенностей набора Voodoo Rush он сопрягается не с любым видеоадаптером (например, нет совместимости с адаптерами ET6000 или ViRGE). Совместимых с Voodoo Rush наборов микросхем для двухмерной графики существует немного.

Кроме всего прочего, как уже отмечалось, существуют проблемы с совместимостью новых драйверов для Voodoo Rush и игр, использующих Glide API.

Набор Voodoo Rush применяется в платах Hercules Stingray 128/3D (к сожалению, на такой плате для работы с набором трехмерной акселерации всего 2 Мбайт видеопамяти), Intergraph Intense 3D Voodoo, Jazz Multimedia Adrenaline Rush 3D.

Отметим, что преодолевать проблемы с совместимостью драйверов можно и за меньшие деньги, и на более мощных акселераторах (например, на nvidia Riva 128 или Permedia 2).

Все же, как видно, судьба наборов Voodoo — быть базой для создания отдельных плат-ускорителей. Это подтверждается и выходом Voodoo2, набора микросхем нового поколения.

3Dfx Interactive Voodoo2

Набор Voodoo2, о котором заядлые игроки говорили за последние полгода, наверное, чаще, чем обо всех играх вместе взятых, не так давно был выпущен 3Dfx на рынок. По заявлениям компании, он “создан для серьезных игроков, которые хотят получить максимум удовольствия от игры и использовать все ее возможности на 100 процентов”.

Voodoo2, как и старый добрый Voodoo Graphics, — набор, предназначенный для использования только на отдельных платах-акселераторах. Принцип подключения также не изменился — это все тот же passthrough-кабель. Разве что, судя по характеристикам набора, проблемы искажения проходящего видеосигнала должны были исчезнуть.

Самое яркое (хотя и не самое значительное) из нововведений — возможность масштабируемости Voodoo2. Да-да, именно масштабируемости — к уже существующей плате Voodoo2 можно подключить с помощью специального соединения вторую точно такую же! Учитывая, что даже в одиночку такая плата исправно выдает “на-гора” в три раза больше, чем ее предшественница (90 млн. точек и 3 млн. треугольников, из которых строится трехмерное изображение), при соединении двух плат смесь должна получиться поистине гремучей!

Voodoo2 использует 192-битную архитектуру и может работать с 8 Мбайт видеопамяти (4 на текстуры, 4 на видеобуфер). По заявлениям 3Dfx, Voodoo2 полностью совместим по драйверам с предыдущими наборами, поддерживает OpenGL, Direct3D и некоторые другие графические библиотеки (QuickDraw, 3D Rave) и будет поставляться с драйверами для Microsoft Windows 95, MS-DOS, NT 4.0 и Apple MacOS.

Набор Voodoo2 позволяет создавать платы как для шины PCI, так и для новой графической шины AGP. На сегодняшний день на базе набора Voodoo2 создано несколько акселераторов; самыми распространенными сегодня являются модели Creative Labs 3D Voodoo2 и Diamond Monster 3DII

Graph14.jpg (239563 bytes)
Одно из преимуществ акселератора Diamond Monster 3DII — возможность «разгона» платы без изменения реестра Windows 95/98

Оба акселератора поставляются практически в одной и той же комплектации — описание, компакт-диск с драйверами и кабель для соединения акселератора с основным видеоадаптером. Сегодня в продаже можно найти 8-мегабайтные версии акселератора Diamond Monster 3DII, но в ближайшее время ожидается появление плат с памятью объемом 12 мбайт. Платы от Creative также существуют в двух версиях: с 8 и 12 мбайт.

Надо сразу сказать, что платы от Creative Labs и от Diamond Multimedia невероятно похожи — расположение микросхем памяти и самого набора Voodoo2 на печатной плате у них полностью совпадает. Пожалуй, самое сильное различие заключается в исполнении разъема для подключения шлейфа SLI (используется при работе двух акселераторов Voodoo2 в паре) — у Diamond Monster 3DII контакты спрятаны в пластмассовый корпус, а у Creative Labs 3D Voodoo2 просто торчат из платы.

В сравнении с комплектацией Creative Labs 3D Voodoo 2, у платы от Diamond отсутствует только шлейф SLI для соединения двух плат в модуль MegaMonster. Где его брать при покупке двух плат Diamond Monster 3DII — не понятно, однако по количеству контактов шлейф SLI легко может быть заменен обыкновенным шлейфом от floppy-дисководов. К сожалению, мне лично не удалось проверить, будут ли работать в режиме SLI две платы Voodoo2, соединенные таким шлейфом (в моем распоряжении был только один акселератор), однако все говорит за то, что подобная конструкция должна работать.

Некоторым изменениям по сравнению с акселераторами, выполненными на основе наборов Voodoo Graphics, подвергся и кабель для передачи видеосигнала с видеоадаптера на акселератор (passthrough cable). Кабели в старых акселераторах были довольно тонкими, что иногда приводило к искажениям видеосигнала. Теперь кабель стал коротким и хорошо экранированным.

Компакт-диски от Diamond Multimedia, входящие в комплект поставки акселераторов Diamond Monster 3DII, помимо драйверов для Windows 95 и Windows 98, содержат драйверы еще к нескольким платам производства Diamond Multimedia, а также большое количество документов в форматах html и pdf, посвященных продукции компании (в том числе и на русском языке).

Правда, опыт моего общения с платой Diamond Monster 3DII содержал и несколько негативных моментов. Например, при игре в Quake II в разрешениях 800Ѕ600 и 1024Ѕ768 даже на нормальных частотах плата через некоторое время начинала “виснуть”. Отлично зная о том, какие “горячие” наборы микросхем делает 3Dfx, я быстро догадался, что все дело в перегреве, и тут же налепил на три микросхемы набора радиаторы и поставил один большой вентилятор. После этого плата отлично работала даже на частоте в 94 мгц. Те, кто имел дело с подобными акселераторами от Creative Labs, отмечали аналогичные проблемы — перегрев часто служит причиной “зависания” игры.

Кстати, пользуясь случаем, еще раз напомню читателям и владельцам плат на базе наборов Voodoo и Voodoo2 — как правило, в случае “зависания” акселератора из-за перегрева (изображение замирает, и игра перестает реагировать на нажатия клавиш и движения мыши) совсем не обязательно перезагружать компьютер нажатием кнопки Reset или клавиш Ctrl-Alt-Del, теряя при этом данные из других задач. Гораздо рациональнее переткнуть видеокабели, не выключая компьютер: соединив монитор напрямую с видеоадаптером, минуя акселератор, вы наверняка увидите рабочий стол Windows с панелью задач и всеми запущенными приложениями. При этом и мышь и клавиатура будут функционировать. Теперь можно нормально завершить сеанс работы, выключить компьютер и восстановить соединение видеокабелей.

Второй проблемой, которую мне так и не удалось решить, были довольно частые сбои при игре в тот же Quake II. Игра время от времени выдавала сообщение о сбое в exe-файле — мне так и не удалось выяснить, было ли это проблемой Quake II или Glide-драйверов от Diamond. Причем подобная проблема не упоминается ни в одном из источников по акселераторам от Creative Labs.

Новый 3D-формат от Кая Краузе

MetaStream — это новый открытый 3D-формат, анонсированный компаниями Intel и MetaCreations, которые предполагают его широкое использование для разработки приложений и просмотра масштабируемых моделей трехмерной графики.

Создание этого формата для визуализации 3D-моделей должно обеспечить растущие потребности в области компьютерных игр и интерактивных приложений (в том числе в Интернете). В отличие от существующих 3D-форматов MetaStream предлагает более эффективное решение для визуализации 3D-графики в условиях жесткого ограничения ресурсов. Особенностью нового формата является его ориентация на архитектуру Intel.

На специальной Web-странице (www.metastream.com) вы найдете подробную информацию о программах, поддерживающих новый формат, готовых 3D-моделях в этом формате и новости от разработчиков.

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

  • Разработчики игр могут создавать только одну модель высокого разрешения, которая будет адаптивно видоизменяться, чтобы обеспечить необходимый уровень детализации во время игры.
  • Web-дизайнеры способны устанавливать степень детализации и частоту кадров для просмотра 3D-объектов на своей странице динамически (регулируя тем самым время загрузки содержания).
  • Пользователи сети Интернет могут вручную корректировать разрешающую способность MetaStream-объектов в зависимости от скорости передачи данных и мощности процессора, выбирая оптимальные, с их точки зрения, разрешение и скорость визуализации.

MetaStream-файлы очень компактны — они намного меньше, чем другие 3D-форматы, и имеют высокую степень сжатия, что значительно ускоряет загрузку и скорость просмотра. Используя этот формат, можно рассматривать, вращать и масштабировать MetaStream-объекты прямо на Web-страницах. Объекты MetaStream универсальны — они могут размещаться поверх фона и плоских изображений.

Естественно, что все 3D-приложения фирмы MetaCreations (Ray Dream Studio и Ray Dream 3D, Infini-D и др.) поддерживают новый формат. Кроме того, MetaCreations планирует разработать инструментарий для проектировщиков других пакетов и приложений.

Интересную разработку с использованием этого формата предложила корпорация Real3D — недорогой трехмерный сканер RealScan 3D, который позволяет изготовить трехмерную «фотографию» реального объекта в формате MetaStream. Объекты могут быть впоследствии конвертированы и сохранены в одном из известных форматов — DXF, OBJ или 3DS.

Корпорация Microsoft уже лицензировала новый формат MetaStream. Она намерена интегрировать его в DirectX и включить в расширенный стандарт Advanced Streaming Format (ASF) для будущего сетевого решения Microsoft NetShow.

В заключение еще раз отмечу, что особой разницы в быстродействии между платами Creative Labs 3D Voodoo2 и Diamond Monster 3DII нет, а различия заключаются лишь в драйверах, цене и некоторых дополнительных опциях. Обе платы предоставляют пользователю такой уровень быстродействия, который сегодня вряд ли может быть полностью востребован какой-либо игрой, кроме, разве что, Unreal. Однако, подобные игры не заставят себя ждать, поэтому платы на наборах Voodoo2, по нашему мнению, уже сегодня являются выгодным приобретением.

Permedia 2, Permedia NT

Эти наборы микросхем созданы компанией 3Dlabs — одним из “столпов” рынка акселераторов трехмерной графики, предлагающей наряду с видеоадаптерами для обыкновенных пользователей дорогие решения для профессионалов. Недорогие наборы микросхем Permedia 2 и Permedia NT (не выше 200 долл.) являются мощными 2D- и 3D-акселераторами и зарекомендовали себя как оптимальные решения для работы с приложениями, использующими библиотеку OpenGL.

Хорошо написанные драйверы позволяют настроить для работы с платами на Permedia практически любое приложение, применяющее OpenGL. Любопытно, что 3Dlabs в отличие от многих других производителей наборов микросхем держит на своем Web-узле хорошую подборку драйверов с подробными инструкциями по их установке и наладке. Естественно, наборы Permedia поддерживают и библиотеку Microsoft Direct3D.

Graph15.jpg (118002 bytes)Наборы Permedia 2 и Permedia NT могут работать и с 4 Мбайт видеопамяти, но чаще поставляются с 8 Мбайт. Это обеспечивает размещение в памяти акселератора порядочного количества текстур и быструю работу акселератора с разрешениями 640Ѕ480 и 800Ѕ600 при глубине цветопередачи 16 бит.

Любопытно, что в наборах 3Dlabs применяется цветовая интерполяция (dithering) — если внимательно посмотреть на изображение, то можно увидеть, что на него наложен своеобразный растр (больше всего это заметно при невысоких разрешениях). Акселераторы, построенные на базе наборов Permedia, очень сильно нагреваются при работе, поэтому на графический процессор устанавливают небольшой пассивный радиатор.

Следует отметить, что многие игры, использующие OpenGL (например, Hexen 2), требуют для нормальной работы режим 16 бит на цвет, поэтому при их запуске под Windows 95, который настроен на 24 или 32 бит (True Color) на цвет, возможны сбои или потери текстур (белые стены и предметы в игре). Чтобы избежать этого, работайте в режиме 16 бит на цвет (High Color). Кроме того, многие игры в режиме OpenGL-акселерации создают на жестком диске громадные файлы подкачки (swap file). Если во время загрузки игра внезапно “падает”, стоит освободить еще 50-80 Мбайт дискового пространства (данный совет адресован не только пользователям плат, построенных на базе наборов Permedia, но и обладателям других акселераторов).

На базе Permedia 2 и Permedia NT созданы такие PCI-платы, как Diamond Fire GL 1000 Pro, Leadtek WinFast 3D 2200, STB Glyder MAX, AccelGraphics AccelSTAR, Omnicomp Divine3D и ViewTop B3D 3L, и др. Существуют модификации некоторых из этих плат для новой шины AGP (Accelerated Graphics Port).

nVidia Riva 128

Все мощные акселераторы, построенные на перечисленных наборах микросхем, стоят более 150 долл. Набор Riva 128 компании nVidia при сравнительно невысокой цене обладает отличными характеристиками и легко может быть поставлен в один ряд с ними. Так же как наборы 3Dfx Voodoo и Permedia, nVidia Riva поддерживает графические библиотеки OpenGL и Direct3D.

Graph12.jpg (280599 bytes)Акселераторы, построенные на этом наборе микросхем, не только обеспечивают высокое быстродействие при работе с 3D-приложениями, но и предоставляют отличное решение для двухмерной акселерации. Скорость работы nVidia Riva с графикой в Windows 95 впечатляет, хотя и не может сравниться с такими признанными “корифеями” 2D, как Matrox.

Набор nVidia Riva 128 способен работать максимум с 4 Мбайт видеопамяти, но благодаря своей архитектуре он (даже в исполнении PCI) может хранить “не поместившиеся” в видеопамяти текстуры в оперативной памяти компьютера (что уж тут говорить о великолепно делающей то же самое AGP-версии акселераторов с nVidia Riva 128!).

Любопытно, что этот набор микросхем, хотя и был заявлен как “оптимизированный для Direct3D”, гораздо лучше многих других справляется с играми, использующими OpenGL, — для него написан специальный ICD-порт.

Стоит отметить, что nVidia Riva 128 и Permedia 2 — единственные, пожалуй, кто на сегодняшний день поддерживает новую шину AGP наилучшим образом, что, бесспорно, позволяет повысить эффективность их работы.

AGP-версии акселераторов, построенных на nVidia Riva 128, по данным многих тестов, работают быстрее, чем платы 3Dfx Voodoo Graphics и Rush, хотя и обеспечивают немного худшее качество изображения. Вначале это объясняли тем, что драйверы OpenGL для nvidia Riva 128 находились в состоянии альфа-версии, но теперь ясно, что это характерно и для полных драйверов. Многие эксперты отмечают большую разницу в производительности между PCI- и AGP-версиями акселераторов, использующих этот набор микросхем, — до 25-30 процентов (в новых играх типа Quake II эта разница еще заметнее).

К недостаткам набора nvidia Riva 128 с его нынешними драйверами следует отнести часто возникающие проблемы с настройкой ПО, ухудшение производительности акселератора при работе в маломощных системах типа Pentium-100 и Pentium-120, а также плохую совместимость драйверов с русской версией Windows 95 (как в OSR2, так и в предыдущей версии). При использовании панъевропейской версии Windows 95 или Windows 98 все проблемы исчезают.

На сегодняшний день набор nvidia Riva используется в таких платах, как Canopus Total3D 128V, Diamond Viper V330, ELSA Victory Erazor, STB Velocity 128, ASUS 3D Explorer.

Уже появилась и вторая версия микросхемы nvidia Riva — Riva 128ZX. Максимальный объем памяти, поддерживаемый ею, увеличен до 8 Мбайт, улучшены функции по работе с изображениями (сглаживание и цветокоррекция), обеспечивается разрешение до 1280Ѕ1024 в режиме 3D (Hi color). Также значительно улучшено качество видеовыхода. Пока микросхема не так популярна, как ее предшественница, — сказывается более высокая цена плат с 8 Мбайт видеопамяти и ожидание нового продукта nvidia Riva TNT. Но в будущем Riva 128ZX, вероятно, придет на смену Riva 128 в системах среднего уровня. Примеры плат: Cardex Cardexpert 128ZX, STB Velocity 128, Tekram AGP 5000.

И наконец, практически завершена разработка микросхемы нового поколения — Riva TNT (TwiN Texel): продукт выйдет со дня на день. Судя по спецификациям и заявлениям разработчиков, Riva TNT способна обойти по производительности явного лидера на сегодняшний день — Voodoo2. Микросхема имеет похожую на Riva 128 архитектуру памяти и два работающих параллельно конвейера текстурирования. Максимальная рабочая частота микросхемы 125 МГц ограничена, скорее всего, лишь быстродействием доступной сейчас SGRAM-памяти. При этом достигается скорость заполнения 250 млн. пикселов в секунду или 125 млн. в режиме с мультитекстурированием. Помимо внешней AGP-памяти плата способна работать и с локальной памятью размером до 16 Мбайт (данная архитектура носит название DIMEL — Direct Memory Execution and Local). Что немаловажно, обеспечивается 3D-ускорение в полноцветном режиме (32 бит на цвет). Частота (250 МГц) достаточна для поддержки режима 1600Ѕ1200 с частотой развертки 85 гц.

Riva TNT будет поддерживать DirectX 5, DirectX 6 и OpenGL в ОС Windows 95/98/NT. Микросхема имеет много новых 3D-функций, реализованных аппаратно: 24-битная Z-буферизация (с плавающей точкой), 8-битный буфер шаблонов, рельефное текстурирование (bump mapping), процедурные текстуры (текстуры со встроенными эффектами), трилинейная фильтрация, анизотропная фильтрация (8-точечная) и полное сглаживание.

Graph17.jpg (296148 bytes)
Плата акселератора Asus, построенного на основе набора микросхем nvidia Riva 128

Реализована работа с шинами AGP (режим 2x) и PCI. Микросхема обладает феноменальной пропускной способностью — 8 млн. треугольников в секунду. На проходившей недавно выставке E3 (Electronic Entertainment Expo) фирма nvidia демонстрировала пробную плату на основе Riva TNT на компьютере Pentium II 400 МГц — Quake II в режиме 32 бит на цвет и с разрешением 1600Ѕ1200 работал со скоростью не менее 30 кадров в секунду! И это пробный вариант микросхемы, работающий на половине максимальной тактовой частоты, с еще недоделанными драйверами!

Graph16.jpg (250937 bytes)
Так выглядят микросхемы нового набора nvidia Riva TNT

Здесь также необходимо отметить отсутствие характерных для Riva 128 дефектов изображения — например нестыкующиеся полигоны. Цены на первые платы на базе Riva TNT будут соответствовать их производительности — ожидаются цифры порядка 300 долл.

На сегодня существует только одна плата, построенная с использованием данного набора, — Diamond Viper V550. Судя по всему, благодаря эксклюзивному договору фирмы Diamond на закупки этих наборов микросхем в течение первого месяца мы не увидим других плат на основе Riva TNT.

i740

Разговоров о графическом процессоре от Intel было много — еще бы, сам гигант индустрии решил поучаствовать в этой гонке! Выхода процессора i740, который вроде бы имел что-то общее по архитектуре с небезызвестным набором nvidia Riva 128, с интересом ожидали все, кто хотя бы немного интересуется происходящим на рынке ускорителей. Сейчас, пожалуй, можно высказать несколько предположений, почему компания Intel решила создать собственный процессор трехмерной акселерации.

Во-первых, новая шина AGP, активно продвигаемая Intel как решение для недорогих и довольно мощных акселераторов трехмерной графики, привлекла внимание многих производителей, но им нужно время, чтобы хорошенько разобраться в преимуществах, которые они получат, создавая адаптеры для AGP. И здесь нужен какой-то удачный пример, показательное технологическое решение, которое докажет, что новая шина — просто клад для рынка акселераторов. Вот Intel и попыталась подать такой пример производителям, разработав образцово-показательный процессор. Кстати, подобные примеры бывали и в прошлом — вспомним хотя бы средства для видеоконференций ProShare, которые Intel также представила в “образцово-показательной” манере.

Во-вторых, Intel, похоже, начала осознавать, что у нее под носом развернулся огромный новый рынок — рынок технологий 3D-акселерации. Этот рынок может озолотить того, кто вовремя сумеет направить свою лодку в нужное русло, однако для этого нужно подсуетиться и представить какую-нибудь новую 3D-технологию или хотя бы решение.

Вот AMD, вечный конкурент Intel, почувствовала появление ажиотажа на этом рынке раньше (аж в 1997-м, под Новый год) и, вместо того чтобы плестись в хвосте неповоротливого гиганта, выступила с собственным решением 3DNow! — новым блоком инструкций в процессоре, который должен взять на себя часть расчетов, необходимых при создании трехмерных сцен. Кстати, сам факт того, что AMD, обычно не “влезавшая” “наперед” Intel “в пекло”, сейчас выступила с абсолютно новым, не совместимым с Intel решением, говорит о том, что гигант проспал. Давно обещанный набор инструкций MMX2 с расширенными 3D-возможностями пока что не представлен, а рынок уже сильно нуждается в подобных решениях.

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

Наконец, вполне возможно, что выход i740 преследовал и первую, и вторую цель, и какую-нибудь третью — кто знает, о чем думает “великий и ужасный”?

Graph18.jpg (322111 bytes)Так или иначе, но процессор представлен. В микросхеме реализованы 11-уровневый попиксельный mipmapping, антиалиасинг, возможны неквадратные текстуры размером от 1Ѕ1 до 1024Ѕ1024 (!!!). Микросхема имеет встроенный Ramdac 220 МГц, но цветовая глубина в 3D — только Hi Сolor: правда, с очень качественной интерполяцией цветов (dithering). Максимальное разрешение 1600Ѕ1200 в 2D и 1280Ѕ1024 в режиме 3D. В данный момент существуют драйверы для Direct3D, а в скором будущем выйдет и полный драйвер для OpenGL. Поддерживаются Windows 95 OSR2.1, Windows 98, Windows NT 4.0 и 5.0. Cкоростные показатели довольно средние (чуть медленнее Voodoo): типичная скорость заполнения составляет 45-55 млн. точек в секунду, а пропускная способность — 425-500 тыс. полигонов в секунду. Зато качество 3D-изображения просто эталонное — на порядок выше всех доступных ныне ускорителей. Кроме того, заманчив широкий набор 2D- и видеовозможностей и привлекательна цена (от 7 до 25 долл. в оптовых поставках), реальная благодаря большим производственным мощностям Intel. Вследствие подобного демпинга уже сейчас можно купить 8-мегабайтные платы на базе i740 по цене менее 90 долл. К сожалению, как было уже отмечено, платы на основе i740 будут выпускаться только в AGP-исполнении (что неудивительно, учитывая вышеупомянутые рассуждения о цели выпуска данной микросхемы). Производительность в Quake (с неполными драйверами OpenGL) составляет порядка 28 кадров в секунду.

Уже есть акселераторы, построенные на основе чипа i740. О двух таких устройствах — акселераторах ASUS AGP-V2740 и ASUS AGP-V2740TV — мы и расскажем, ибо акселераторы получились действительно “образцово-показательными” и как нельзя лучше отражают понимание Intel проблемы дешевого и качественного адаптера, использующего AGP-шину и построенного по принципу DIMEL (Direct Memory Execute and Local also).

Возможности акселераторов, построенных на основе i740, действительно под стать качественным моделям — это и неплохие показатели 2D- и 3D-акселерации, поддержка не только библиотеки Direct3D, но и OpenGL (правда, только в ближайшем будущем), наличие видеовыхода Composite и S-VHS и даже возможность оцифровки видео (!) с устройств VHS и S-VHS в стандартах PAL и NTSC.

По скорости 3D-изображения акселераторы, построенные на микросхеме i740, естественно, не могут тягаться с такими корифеями, как Voodoo2, однако, если вы не собираетесь переходить в разрешение 1024Ѕ768, то i740 вам вполне подойдет. А с выходом драйверов OpenGL акселератору станут “по зубам” и такие серьезные игры, как Quake, Hexen II и Quake II. Если вы все же решите приобрести акселератор на базе набора i740, имейте в виду, что очень многое будет зависеть от комплектующих, которые используются в вашем ПК, — типа и количества оперативной памяти и мощности процессора. Чем быстрее будет оперативная память, выше тактовая частота шины системной платы и мощнее процессор, тем лучше будет себя вести акселератор на i740.

Профессиональные 3D-акселераторы

В свое время компания Diamond Multimedia Systems «разразилась» целой серией 3D-акселераторов профессионального назначения. Хотя серия имеет общее название — FireGL, все модели в ней совершенно различны и базируются на чипсетах от разных производителей. Рассмотрим профессиональные решения на примере 3D-акселераторов от фирмы Diamond.

3Dlabs Glint Permedia NT и Delta

Fire GL 1000 — это модель начального уровня («первый блин»), которая была рассчитана на обычный PC-компьютер. Для обеспечения производительности высокого уровня этот акселератор начал достаточно эффективно поддерживать основные функции 3D-графики: скорость прорисовки до 600 тыс. текстурированных многоугольников в секунду (до 30 млн. пикселов в секунду) с коррекцией перспективы, билинейной фильтрацией и эффектами тумана (дымки). Fire GL 1000 поддерживает основные 3D-API, включая OpenGL, Autodesk Heidi и Direct3D. Благодаря специальному двухпроцессорному дизайну на основе чипов Permedia NT и Delta компании 3Dlabs акселератор Fire GL 1000 достиг класса high-end при умеренной цене. Аппаратно обеспечивается двойная буферизация (Z-buffer) при разрешении до 1152Ѕ870 пикселов в цветовом режиме High Color (65 тыс. цветов). В дополнение к трехмерным функциям Diamond Fire GL 1000 обеспечивает ускорение двухмерных функций и воспроизведение видео (MPEG-1).

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

Более продвинутая модель, Fire GL 1000 Pro, базируется на наборе микросхем 3Dlabs Permedia 2, о котором говорится в статье. Ее уже можно порекомендовать в качестве неплохого OpenGL-акселератора для профессиональных применений, но… только от бедности. Интересной особенностью этой платы является возможность подключения стереоочков через встроенный разъем — StereoGraphics connector.

3Dlabs Glint 500TX Gold

Планку профессионализма преодолевает только Fire GL 3000, которая базируется на чипсете 3Dlabs Glint 500TX Gold. Этот чипсет объединяет процессор рендеринга Glint 500 TX и геометрический процессор Glint Delta (тот же, что и у Fire GL 1000). Плата имеет «огромный» локальный буфер для хранения текстур (до 48 Мбайт) и фрейм-буфер (до 32 Мбайт). Она официально сертифицирована для использования с профессиональными программами 3D-графики и моделирования, имеет соответствующие этим программам настройки драйвера и без проблем поддерживает все 3D-функции OpenGL 1.1. Кроме того, эта плата может работать с двумя мониторами (причем оба подключаются непосредственно к ней и не требуют дополнительного оборудования).

Mitsubishi 3DPro/2mp

Fire GL 4000 базируется уже на чипсете Mitsubishi 3DPro/2mp — одном из самых мощных на сегодняшний день наборе (однако довольно дорогом). Этот чипсет основан на технологии REALImage компании Evans&Sutherland и оптимизирован для специальной памяти 3DRAM/CDRAM компании Mitsubishi. 3DPro/2mp включает в себя комбинированный двух- и трехмерный ускоритель и геометрический процессор, обеспечивает полную совместимость с OpenGL 1.1 и аппаратно выполняет высококачественное текстурирование с перспективной коррекцией, би- и трилинейной фильтрацией. Кроме Fire GL 4000, на том же наборе базируется и превосходный акселератор Accel Eclipse II фирмы AccelGraphics.

Для реализации всех возможностей FireGL-акселераторов рекомендуется использовать программное обеспечение под Windows NT на системах с процессором Pentium или Pentium II. Кроме того, многие профессиональные приложения работают на PC только под NT, так что у вас просто не будет выбора.

Другие OpenGL-ускорители

Кроме вышеупомянутых акселераторов фирмы Diamond и чипсетов, на которых они базируются, существуют и другие профессиональные решения на платформе PC.

Фирма Dynamic Pictures выпускает превосходные многопроцессорные акселераторы Oxygen 202 и 402 — двух- и четырехпроцессорные платы, хорошо оптимизированные под многопроцессорные компьютеры благодаря своему многопоточному OpenGL-драйверу.

Фирма 3Dlabs, кроме вышеперечисленных, выпускает и другие наборы микросхем для 3D-графики. После Glint Delta был разработан новый геометрический процессор — Gamma. Вместе с одним или двумя растеризаторами Glint MX он образует Glint GMX — самый мощный на сегодняшний день набор от фирмы 3Dlabs.

Славится своими 3D-акселераторами и компания Intergraph — крупнейший производитель профессиональных графических станций с процессорами Intel. Intergraph имеет целую серию ускорителей — от Intense 3D Pro до Realizm II.
Не стоит забывать, что знаменитая фирма Silicon Graphics готовит собственное решение на базе процессоров Intel под управлением Windows NT. Учитывая богатый опыт этой компании, можно надеяться, что ее заявка не окажется беспочвенной.

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

Rendition Verite

Наборы микросхем для акселерации двухмерной и трехмерной графики Rendition Verite не так широко известны и распространены, как упоминавшиеся ранее, но все же обладают неплохими характеристиками. Наборы Verite построены на основе RISC-архитектуры, что делает возможным параллельное исполнение нескольких 3D-команд. Rendition Verite может работать с 4 Мбайт видеопамяти (как EDO, так и SDRAM, SGRAM) — 2 из них используются для видеобуфера, а 2 — для хранения текстур. Небольшое количество памяти, выделяемой для работы с текстурами, до сих пор являлось узким местом этих наборов.

Существует несколько версий данного набора микросхем — V1000 и V2000. Набор Rendition Verite V2000 обладает более высоким быстродействием, чем V1000, а кроме того, позволяет создавать акселераторы для шины AGP. Используя возможности такой шины, приложения могут размещать текстуры непосредственно в оперативной памяти.

Для чипсетов Rendition Verite существуют драйверы Direct3D, а под Windows NT поддерживается стандарт OpenGL. В ближайшем будущем компания Rendition планирует выпустить OpenGL-драйверы для Windows 95. Существует даже специальная версия Quake для акселераторов, использующих Rendition Verite, VQuake.

Graph19.jpg (270455 bytes)Любопытно, что многие акселераторы, построенные на наборах Verite, так же как и платы, построенные на чипах Voodoo Graphics, легко поддаются “разгону” — рабочая частота набора задается одним из параметров, находящихся в файле VERITE.INI. Кстати, только “разгоном” можно бороться с одним из крупных недостатков наборов Verite — невероятно низкой скоростью работы в DOS (многие игры безбожно “тормозят” даже при разрешении 320Ѕ200).

По заявлениям многих специалистов, Rendition Verite — очень неплохие наборы микросхем для акселерации трехмерной графики. “За” Verite свидетельствует и достаточно большое количество игр, с которыми совместимы эти наборы. Однако в России платы на данном чипсете пока встречаются довольно редко, и даже не появились в продаже AGP-модификации этих акселераторов.

На наборах Verite V1000 и V2000 построены акселераторы Canopus Total 3D, Diamond Stealth II S220, Hercules Thriller3D, Creative Labs 3D Blaster, Intergraph Intense 3D 100, Sierra Screaming 3D.

Сейчас полным ходом идет разработка новой микросхемы Rendition — V3000, и покупка акселераторов, построенных с ее использованием, возможно будет иметь смысл для владельцев компьютеров класса Pentium и Pentium MMX.

Также хочется отметить интересную плату Hercules Thriller Conspiracy, основанную на комбинации V2000 и специального геометрического сопроцессора Fujitsu FGX-1. Он предназначен для использования вместе с 2D- и 3D-наборами микросхем. FGX-1 способен обрабатывать до 500 тыс. полигонов в секунду. Микросхема имеет два независимых PCI-контроллера, один из которых работает с центральным процессором, а второй — с основной микросхемой видеоплаты. Подобное решение способно сильно разгрузить слабый центральный процессор.

NEC PowerVR

Набор микросхем NEC PowerVR часто называют конкурентом Voodoo Graphics — в основном потому, что оба набора рассчитаны на создание отдельных плат-акселераторов, позволяющих ускорять 3D-операции, и могут работать только “в связке” с каким-нибудь видеоадаптером. Различие заключается в том, что PoverVR не требует подсоединения через passtrough-кабель, используя для передачи данных PCI- или AGP-шину. Существует две версии набора PoverVR — PCX1 и более новая PCX2.

По производительности, поддерживаемым графическим библиотекам и играм набор PoverVR PCX1 несколько уступает Voodoo (что касается производительности, возможно, это относится только к PCI-версиям акселераторов). К тому же PCX1 не поддерживает стандартной билинейной фильтрации текстур, которая используется практически всеми игровыми приложениями для повышения качества изображения во время приближения к предметам.

Новый чипсет PCX2, по заявлениям многих специалистов, по производительности не только не уступает, но по некоторым пунктам и превосходит Voodoo Graphics. Он поддерживает все необходимые современным играм функции, работает с Direct3D и OpenGL в Windows 95/98/NT, позволяет достичь высокого быстродействия (до 30 кадров в секунду). Следует отметить, что при работе с платами, построенными на наборах PoverVR, как, впрочем, и Voodoo Graphics, многое зависит от видеоадаптера, “в паре” с которым работает акселератор.

И все же платы, использующие PowerVR PCX2, нельзя признать удачным выбором — за сумму порядка 98 долл. сейчас можно приобрести более выгодную во всех отношениях Riva 128 или совместимый практически со всеми играми Voodoo.

Наборы PoverVR применяются в следующих платах: VideoLogic Apocalypse 3D, Matrox m3D, VideoLogic Apocalypse 5D.

Сейчас фирма VideoLogic завершает разработку нового семейства ускорителей — PowerVRSG (Second Generation), которое будет построено на микросхеме PoverVR PCX3 с более успешным набором возможностей: пропускная способность 1,2 млн. треугольников, требующая пропускной способности шины всего 51 Мбайт/с, что вполне достаточно для шины PCI. Обеспечивается и поддержка AGP, в том числе AGP-текстурирование (DiME) — микросхема может адресовать до 32 Mбайт системной памяти под текстуры.

Рельефное текстурирование в реализации PVRSG не требует использования геометрического процессора, то есть аппаратного ускорения трансформации, освещения и проецирования. Тем не менее для рельефного текстурирования PCX3 выполняет дополнительные вычисления. Компрессия текстур VQ — vector quanization (квантование векторов), реализованная в PVRSG, гораздо эффективнее компрессии YUV, применяемой в наборах Voodoo. VQ достигает степени компрессии 8:1, а YUV — всего 3:1. Общая память для буфера кадра и текстур позволяет легко создать эффект отражения в объекте окружающей сцены (environment mapping). Поддерживается объемное освещение и точные тени, специальный буфер-аккумулятор для смешения и морфинга текстур.

По набору возможностей PoverVR PCX3 — ускоритель принципиально новой технологии, открывающий новые возможности перед создателями игр. Поддерживаются API Direct3D, OpenGL и PowerSGL — родной API PowerVR. Ориентировочная цена акселераторов, построенных на чипах PoverVR PCX3, еще не известна, но скорее всего будет находиться в диапазоне 170-220 долл. Также будет выпущена микросхема PMX — вариант PCX3 со встроенным 2D и 230 МГц RamDac, но с более слабым ускорителем трехмерной графики.

ATI Rage

В отличие от плат, построенных на основе Rendition Verite, акселераторы, использующие наборы компании ATI (Rage, Rage II, Rage Pro), за последний год стали широко известны нашим игрокам. Практически все платы от ATI оснащаются преобразователями PC-TV, позволяющими выдавать изображение с видеоадаптера не только на монитор, но и на телевизор. Большинство акселераторов фирмы ATI снабжено специальным разъемом, обеспечивающим наращивание объема видеопамяти с 4 до 8 Мбайт.

Любопытно: хотя в своей рекламной кампании фирма ATI и делает акцент на том, что она производит мощные 3D-акселераторы, поддержка стандарта OpenGL в Windows 95 отсутствует полностью. К чести ATI, порт OpenGL работает под Windows NT, и работает очень неплохо. А под управлением Windows 95, естественно, поддерживается Direct3D (однако в русифицированном OSR2 некоторые игры все же сбоят). У компании ATI есть и собственная графическая библиотека — ATI 3D CIF, которая, правда, не пользуется популярностью у разработчиков (возможности этой библиотеки применяют 2-3 игры, не более).

Компания предлагает различные наборы микросхем для акселерации двух- и трехмерной графики, базирующиеся на разработанной ATI технологии mach64: 3D RAGE II, 3D RAGE II+DVD, 3D RAGE PRO, 3D RAGE LT. Наиболее мощный набор — 3D RAGE PRO — позволяет создавать акселераторы и для AGP-шины.

Среди опытных игроков акселераторы ATI имеют невысокую репутацию — многие модели по качеству изображения и производительности не могут тягаться с платами, построенными на наборах Voodoo Graphics, Permedia и nVidia 128 (хотя они достаточно надежны, располагают хорошо написанными драйверами и в области 2D-графики пользуются заслуженной популярностью). Однако существуют и мощные платы, например построенные на наборе 3D RAGE PRO.

Наборы ATI используют акселераторы ATI 3D Pro Turbo, ATI 3D Xpression+ PC2TV, ATI All-in-Wonder, ATI XPERT@WORK/PLAY.

Matrox

Сегодня в России трудно найти человека, который имеет дело с компьютером, но не слышал о 2D- и 3D-акселераторах фирмы Matrox. Несколько лет назад их можно было встретить лишь в дорогих графических станциях, но затем они появились и на массовом рынке. Эти акселераторы привлекали потребителей высокой скоростью и отличной разрешающей способностью, оттеснив на задний план предыдущего фаворита — платы Diamond Stealth, построенные на наборах S3.

С началом новой битвы за пользователя, ознаменовавшейся резким повышением запросов к 3D-возможностям микросхем, компания Matrox начала сдавать свои позиции — ее наборы MGA (1164SG, 1064W, 1064SG, 2164W, 2064W), хотя и позволяют несколько ускорить 3D-функции, все же не обладают необходимой мощностью. По декларированным возможностям наборы MGA не уступают большинству вышеперечисленных чипсетов (поддержка OpenGL в Windows NT, поддержка Direct3D в Windows 95, HEIDI-драйверы для 3DStudio и т.д.), однако имеют ряд функциональных ограничений — другими словами, некоторые 3D-операции аппаратно не поддерживаются (например, 2164W не выполняет функции билинейной и трилинейной фильтрации). Поэтому акселераторы фирмы Matrox, построенные на наборах MGA, не могут тягаться с такими “корифеями”, как Voodoo или Permedia.

Для “игрунов” Matrox выпускает специальные акселераторы Mystique, построенные на наборах MGA 1164SG и MGA 1064W. В определенном смысле они практически не отличаются от других акселераторов фирмы Matrox: обладая неплохими характеристиками (по заявлениям многих специалистов, они обеспечивают большую скорость работы с 3D-графикой, чем платы ATI или S3 Virge), они не поддерживают многие функции на аппаратном уровне (например, MGA 1064W не позволяет создавать эффект тумана или дымки).

Graph20.jpg (300872 bytes)Наборы микросхем MGA могут работать с различным объемом видеопамяти (как SGRAM, так и WRAM) — от 4 до 16 Мбайт. В последних наборах — 2164W (Millennium II) — реализована поддержка AGP-шины.

Впрочем, фирма Matrox и не скрывает того, что ее MGA-платы не способны достигнуть приличного быстродействия и качества 3D-графики, и выпускает специальную плату-дополнение Matrox m3D для акселераторов Millennium и Millennium II (впрочем, она работает и с другими видеоплатами). В ее основе — набор микросхем NEC PowerVR PCX2 (существуют оба варианта: для шины AGP и для шины PCI).

На наборах MGA построены следующие акселераторы: Matrox Millennium, Millennium II, Mystique, Mystique 220.

Сейчас признанный лидер в области высококачественных видеоакселераторов 2D пробует себя на рынке 3D-ускорителей с новой микросхемой G200. Со дня на день платы на ее основе — Mystique G200 и Millennium G200 — появятся в продаже. Они будут обладать не только одним из лучших на данный момент 2D-ускорителем, но и неплохим ускорителем 3D. Все внимание разработчиков было уделено качеству 3D-изображения. Все промежуточные вычисления идут в режиме 32 бит True Color, и лишь при необходимости результат преобразуется с помощью высококачественного распыления (dithering) в 16 бит Hi Color-представление.

Архитектура платы 128-разрядная, DualBus — обмен данными в акселераторе основан на двух независимых параллельно работающих 64-разрядных шинах. Микросхема предназначена только для работы с шиной AGP в режиме 2x и, что характерно для всех AGP-ускорителей, поддерживает DiME (Direct Memory Execution — хранение текстур в системной памяти компьютера).

Пропускная способность G200 составляет порядка 1,5 млн. треугольников в секунду, fill rate — 100 млн. пикселов в секунду. Аппаратно реализованы попиксельный mipmapping, трилинейная фильтрация, 32-битная z-буферизация, полное и краевое сглаживание. Поддерживается до 16 Mбайт SGRAM. Ramdac 230 или 250 МГц, в зависимости от модели платы. Поддерживается только Direct3D 6.0 — к сожалению, полный OpenGL пока не обещан.

Качество 3D-изображения ожидается очень высокое, особенно в режимах True Color (32 бит), где оно вполне способно превзойти i740. Максимальное разрешение в режиме 3D True Color 1280Ѕ1024, в 2D обещано 1920Ѕ1200, необходимое для различных профессиональных применений. Данную плату, как и любую другую от Matrox, можно смело рекомендовать пользователям, имеющим 19- и 20-дюймовые мониторы и профессионально занимающимся графикой, дизайном и т.д.

Плата с 8 Мбайт памяти, вероятно, будет стоить порядка 230 долл. Производительность в Quake в разрешении 640Ѕ480 составляет порядка 55 кадров в секунду. Платы: Matrox Mystique G200 (вариант для игрового использования), Matrox Millennium G200 (профессиональный вариант с Ramdac 250 МГц).

S3 ViRGE

Название S3 не менее популярно в России, чем Matrox. Видеоадаптеры Diamond Stealth, популярные в прошлом, были построены именно на этих наборах. Однако ко времени начала трехмерного бума компания S3, специализировавшаяся на выпуске акселераторов для двухмерной графики, так же как и Matrox, не смогла (а может быть, просто не захотела?) выпустить специализированный чип для 3D.

Graph21.jpg (207221 bytes)В итоге усилиями компании был создан целый “выводок” маломощных наборов для 2D- и, частично, 3D-акселерации под именем ViRGE (Video and Rendering Graphics Engine): VX, DX, GX, GX2... Впрочем, модификации этого набора не очень различаются по производительности. Все наборы функционируют с видеопамятью объемом до 4 Мбайт. ViRGE VX способен работать с памятью типа VRAM и WRAM, DX работает с более высокой скоростью, чем VX, а набор ViRGE GX поддерживает память типа SDRAM или SGRAM. Данные наборы могут использовать и “медленную” видеопамять типа EDO. Один из последних наборов, S3 ViRGE GX2, позволяет создавать акселераторы для AGP-шины.

По заявлениям компании, все акселераторы поддерживают библиотеки OpenGL и Direct3D. На деле же OpenGL-драйверы для наборов ViRGE оставляют желать лучшего даже по “игровым” стандартам — до настоящего времени с ними так и не удалось заставить функционировать ни Quake, ни Hexen II.

Поскольку эти наборы довольно дешевы, существует огромное количество применяющих их маломощных акселераторов, таких как Diamond Stealth 3D 3000, Diamond Stealth 3D 2000 Pro (4 Mбайт ViRGE/DX), STB Velocity 3D, STB Nitro 3D (4 Mбайт SGRAM ViRGE/GX), STB Powergraph 64 3D, miroCRYSTAL VR 2000, miroCRYSTAL VR 4000, Number Nine Reality 332, Number Nine Reality 772, DataExpert ExpertColor DSV3325P, ELSA Victory 3D, Genoa Phantom 3D, Orchid Fahrenheit Video 3D, ELSA Winner 2000AVI/3D, Hercules Terminator/DX 3D (4 Mбайт ViRGE/DX EDO DRAM).

S3 Savage3D

Сегодня S3 пытается выйти на рынок с достаточно мощным и довольно дорогим игровым акселератором Savage3D. Первая плата, построенная на его основе, начала продаваться за рубежом и, вероятно, скоро появится в России. Скорее всего, пройдя некоторое время “становления”, эта микросхема будет обеспечивать наилучшее соотношение “цена/производительность”, как и все прочие творения фирмы S3.

Savage3D — это 128-разрядная архитектура, объем локальной памяти 2-8 Мбайт 125 МГц SGRAM, со скоростью заполнения 125 млн. точек в секунду с однопроходной трилинейной фильтрацией или мультитекстурированием, пропускная способность порядка 5 млн. полигонов в секунду (заметим, что эти параметры ничуть не уступают Riva TNT). Максимальное разрешение: 1600Ѕ1200 как в 3D, так и в 2D. Обеспечивается поддержка 3D в режимах True Color и Hi Color с высококачественной интерполяцией цветов (dithering) и анизотропной фильтрацией. Аппаратно поддерживаются процедурные текстуры, 24-битная и 16-битная z-буферизация, краевое сглаживание и туман. Осуществляется компрессия текстур по патентованной технологии S3TC, которую лицензировала Microsoft для DirectX 6. Степень компрессии 6:1. Поддерживается шина AGP 2X с архитектурой DiME.

Сразу после выхода микросхемы появились драйверы для Direct3D 6.0 (тогда еще не появившейся официально) и OpenGL, что является несомненным плюсом для данного набора. Следует обратить внимание на два новшества, выделяющих платы на Savage3D в техническом плане, — мощная компрессия текстур, способная уменьшить загрузку шины, и процедурные текстуры, использование которых могло бы значительно облегчить программистам реализацию красивых 3D-материалов и эффектов в играх, например воды или огня (опять же при уменьшении загрузки шины).

Производительность в Quake в разрешении 640Ѕ480 составляет порядка 60 кадров в секунду. Первая плата с 8 Мбайт будет стоить около 200 долл. — это Hercules Terminator BEAST.

Cirrus Logic Laguna3D

В настоящее время на наборе микросхем Laguna3D создаются довольно дешевые платы-акселераторы двух- и трехмерной графики. Работающие с 2 или 4 Мбайт видеопамяти, по 2D-быстродействию акселераторы с Laguna3D уступают наборам ViRGE от S3, а по 3D-быстродействию немного обгоняют их. Большое количество моделей, построенных на Laguna3D, можно найти и в России. К сожалению, для этого набора микросхем еще не разработаны OpenGL-драйверы под Windows 95 (хотя в Интернете попадаются упоминания о каких-то мифических разработках), и он поддерживает лишь Direct3D.

AGP-версии акселераторов, построенных на наборе Laguna3D, часто работают неустойчиво, а на некоторых системных платах случаются “зависания” и серьезные сбои в работе Windows 95 (как OSR2, так и более ранних версий) в режимах, использующих более 16 цветов. Например, подобные сбои дает акселератор ProGraphics CL5456A, функционируя на системной плате Mycomp AIP5VG, построенной на наборе микросхем Apollo VP3 (это пока единственный набор микросхем для Socket7, позволяющий применять AGP-платы).

Mipmapping

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

  • mipmap (базовая функция) — используется алгоритм «ближайшего соседа», точно повторяющий ближайший текстурный пиксел (тексел);
  • билинейная фильтрация — по четырем ближайшим текселам строится линейная интерполяция. Пикселяризация уменьшается, но увеличение приводит к расфокусировке изображения;
  • билинейный mipmap — подобен билинейной фильтрации, но применяется сдвиг в сторону «ближайшего соседа» (mipmap) для повышения контрастности изображения;
  • трилинейная фильтрация — выполняются две билинейные интерполяции в двух ближайших mipmap-уровнях, а затем осуществляется линейная интерполяция между двумя промежуточными текселами.

Из акселераторов, использующих набор Laguna3D, можно назвать модели Creative Graphics Blaster MA334, Techworks Ultimate 3D, Videologic Graphicstar 550, Jaton Video-70P, ProGraphics CL5456A и Pine Cirrus Logic Laguna3D.

Trident 3DImage 975

Данный набор микросхем сегодня, пожалуй, один из самых “слабых”, что подтверждают и независимые эксперты, и его невысокая цена. Впрочем, разработчики тоже не особенно отрицают свое положение аутсайдера, скромно сравнивая собственное детище только с набором от Cirrus Logic (Laguna3D). Насколько известно, из графических библиотек здесь поддерживается только Direct3D. Существуют, однако, варианты акселераторов Trident 3DImage 975 как для шины PCI, так и для шины AGP.

Любопытно, что, по заявлениям компании, в разработке этого набора микросхем принимали участие специалисты из 3Dfx.

* * *

Хочется еще раз подчеркнуть: хотя OpenGL и является лучшим стандартом, но в настоящее время достаточно надежно поддерживается (во всяком случае, под Windows 95) только Direct3D и Glide API. Поддержка OpenGL очень слабая (хотя и крепнет день ото дня), практически за всеми драйверами приходится “ходить” в Интернет или искать их на сомнительных компакт-дисках. OpenGL неплохо поддерживается под Windows NT — там вы имеете шанс избежать мучений с настройкой OpenGL-приложений. Вообще, акселератор, поддерживающий OpenGL, скорее всего, пригодится тем, кто помимо игр занимается компьютерной графикой и программированием.

Тем, кто собрался приобрести акселератор, можно лишь посоветовать не экономить на столь важной детали вашего компьютера. Нужно выбрать такой акселератор, который поддерживает максимальное количество графических библиотек. Если вы не можете назвать себя опытным пользователем и не способны настроить необходимое оборудование, подождите пару месяцев — за это время производители акселераторов и разработчики игр включат все необходимые драйверы в поставку, и многие проблемы исчезнут сами собой. Но если вам все же не терпится поучаствовать в захватывающих своей реалистичностью трехмерных битвах с нечистью из Quake II, Hexen II и Unreal — не ждите! Поверьте, такое удовольствие стоит лишних 30-50 долларов…


 3D-стандарты для пользы и удовольствия.
Лента новостей


2006 (c) Copyright Hardline.ru