Вход в систему
Последние статьи
Самые комментируемые статьи
Автор: Павел Шубский
Все началось с того, что компания 3dfx в 1997 году представила ускоритель трехмерной графики Voodoo (историю славной 3dfx вы могли читать в «Игромании» №104, в рубрике «Антикварная лавка»). Voodoo не была полноценной видеокартой — она лишь ускоряла обработку 3D. С тех пор утекло много воды. Современная видеокарта представляет собой мощнейшую подсистему компьютера. Основная цель, к которой разработчики видеокарт стремятся уже не первый год, — фотореалистичность изображения. Теоретически в недалеком будущем мы сможем насладиться кинематографической картинкой у себя на мониторе. Но когда этот момент действительно наступит — неизвестно. Разработчики игр только рады, что частоты и количество конвейеров растет, выдавая на-гора все более и более навороченные трехмерные движки. Но что толку от реалистичной картинки и ярких спецэффектов без вменяемой физики? Только пшик. Невозможно сделать модель человека «как в жизни» без красиво развивающихся на ветру волос, изгибающихся складок на одежде. Мир большинства современных игр абсолютно безжизнен — даже здания не разрушаются. Физика в играх появилась уже давно, но прежде ее расчетом занимался исключительно центральный процессор. Благо его ресурсов достаточно для просчета движения пары ящиков и шести пустых банок. Теперь представьте себе сложенные пирамидой бревна. Если задеть самое верхнее из них, импульс по цепочке передастся остальным. С некоторой долей вероятности вся пирамида развалится. Хорошо, когда таких бревен 100—150, но что делать, если их 10 000 или даже больше? А если учесть, что на каждое бревно действует сила тяжести и с десяток других законов механики, бревна соударяются, меняя траекторию полета, некоторые ломаются при ударе о землю... Любой современный процессор начнет тормозить. Его вины в этом нет — он предназначен для других задач. К тому же у него и так работы хватает. Свято место пусто не бывает, и в индустрии появились люди, которые начали искать решение этой проблемы. AGEIA PhysX
В прошлом году молодая компания AGEIA представила оригинальную концепцию, призванную свершить революцию в играх. Что если сделать отдельную плату и повесить на нее все вычисления физически? Плюс такого подхода в том, что это проще, чем мудрить с драйверами и пытаться распределять нагрузку между видеокартой и процессором. Упомянутая выше 3dfx пошла как раз путем специализации, в итоге удача была на ее стороне. Специалисты AGEIA надеются на такой же сценарий. Правда, мы помним и грандиозный крах 3dfx... AGEIA предложила проект PhysX — дискретную плату, устанавливаемую в слот PCI. Она целиком и полностью предназначена для расчета физики, ничего другого делать не умеет. Карта представляет текстолит с 130-нм ядром, содержащим 125 млн транзисторов, 128/256 Мбайт памяти типа GDDR3 на борту и 128-битной шиной памяти. Слово «ядро» взято в кавычки, так как разработчики утверждают, что PhysX оперирует сотнями независимых ядер. Основным преимуществом AGEIA перед любой видеокартой является внутренняя пропускная способность, которая составляет 2 Тбайт/с, тогда как самые быстрые видеокарты обеспечивают не более 350 Гбайт/с. Увы, физические спецэффекты в играх не появятся сами по себе после покупки карты PhysX. Чтобы насладиться красивыми взрывами и анимацией, разработчики игр должны проделать адскую работу. Дабы облегчить программирование спецэффектов для PhysX, компания приобрела программный движок Novodex, который служит интерфейсом между игрой и обработчиком физики. На его основе был создан пакет PhysX SDK, позволяющий прописывать физические спецэффекты в нужных местах игры. Но этого тоже мало — нужно еще убедить как можно больше разработчиков, что именно за PhysX будущее.
Пока у AGEIA это получается — PhysX SDK использовался при разработке многообещающих движков будущего: например, Unreal 3.0 (Unreal Tournament 2007, Gears of War), Reality Engine (CellFactor) и Gamebryo (The Elder Scrolls 4: Oblivion). Мы вправе ожидать, что на основе Unreal 3.0 в будущем мы увидим множество новых хитов. Что может предложить AGEIA PhysX в плане спецэффектов? Например, расчет твердых тел (не деформирующихся при ударе) в разумных количествах (20—30 в кадре) мы можем увидеть в любой современной игре, но PhysX способна совершить качественный скачок: как насчет того, что количество подобных объектов возрастет до 30 000? Добавим сюда еще мягкие (деформируемые) тела и разного рода жидкости (флюиды). Если перейти с абстрактного языка на более предметный, то PhysX обещает нам реалистичные взрывы, воду, ткань, волосы. В общем, все то, чего не хватает в современных играх. Это в идеале, но вряд ли мы увидим в ближайшее время полностью интерактивные виртуальные миры. В тот момент, когда вы будете держать этот номер журнала в руках, карту AGEIA PhysX, скорее всего, уже можно будет купить в России. Самым главным минусом на пути к реалистичной физике является цена. За карточку просят аж $300. На наш взгляд, это чересчур много, учитывая тот факт, что поддерживается она лишь в нескольких играх. В интересах самой AGEIA снизить цену, ну да оставим это на совести маркетологов. На данный момент доступна лишь одна игра с поддержкой PhysX — Tom Clancy’s Ghost Reckon: Advanced Warfighter. Последние тесты показали, что код игры еще не отточен и с включенным аппаратным ускорением физики игра сильно тормозит. Причинами тому могут быть сырость программного обеспечения или низкая пропускная способность шины PCI (133 Мбайт/с). Первый вариант выглядит более вероятным — быть может, новые патчи исправят проблемы. Несмотря на такой обескураживающий старт, мы считаем, что физические спецэффекты, которые стали возможны благодаря использованию PhysX, стоят того. Планы AGEIA почти наполеоновские, компания планирует интегрировать PhysX в материнские платы и даже ноутбуки. Решающим фактором в данном вопросе является цена — если AGEIA удастся довести цену карты до $100, есть все шансы, что игроки проглотят новинку. А тем временем... Ответный удар Havok и Co
Самым популярным физическим движком среди разработчиков игр на данный момент является Havok (полное название — Havok Game Dynamics SDK). До некоторого момента все физические спецэффекты рассчитывались силами центрального процессора, но с таким подходом можно реализовать лишь скучную ragdoll-анимацию да резиновые ящики, пружинящие от стен. Безусловно, сама Havok не имела никакого морального права почивать на лаврах, учитывая неплохой старт AGEIA с ее PhysX SDK. Ответ получил имя Havok FX. Последняя версия движка может стать неплохой альтернативой PhysX. Havok FX претерпел множество изменений. Среди новых возможностей мы отметим поддержку динамики флюидов, расчет повреждений и частиц, реалистичных волос. Негусто, в этом и заключается основное отличие программного движка от продукта AGEIA — первый умеет работать только с eye candy (англ. «красивости»), тогда как PhysX рассчитывает все, что связано с физикой. Никто и не подумал бы поднимать столько шума из-за еще одного программного интерфейса, если бы не одно «но»: для обработки «красивостей» Havok FX будет использовать графическую карту. Таким образом, отпадает необходимость покупать отдельную плату (PhysX), а также нагружать процессор и без того перегруженную системную шину — все вычисления будут производиться не отходя от кассы. Изначально Havok FX должен был работать с одной видеокартой, но NVIDIA быстро подхватила идею для раскрутки SLI. Зачем рассчитывать все на одной-единственной карте, когда можно отдать вторую под эти вычисления? Свежий релиз драйверов ForceWare, который должен появиться вот-вот, активирует эту технологию. Специалисты NVIDIA и разработчики Havok FX рекомендуют использовать самые производительные видеокарты, типа GeForce 7800 GTX — их мощности должно хватить для полноценных вычислений физики. Но есть ли смысл отдавать дорогую видеокарту под расчеты физических процессов? С другой стороны, AGEIA PhysX стоит $300 и обрабатывать графику «в свободное время» не умеет вообще. Посмотрев на союз NVIDIA и Havok, компания ATI не смогла воздержаться от комментариев. Представитель канадской компании заявил, что все видеокарты Radeon, начиная с Radeon 9700, умеют считать массивы вершин. Это примерно та же операция, которая используется в PhysX. У видеокарт последнего поколения (Radeon X1900) достаточно мощности, чтобы рассчитывать физику наравне с графикой. Возможность делать это может быть активирована на уровне драйверов — так же, как и у NVIDIA. Есть слухи о том, что ATI планирует разработать собственный низкоуровневый интерфейс, который позволит разработчикам реализовать спецэффекты в играх, но это вряд ли. А вот мудрствовать с продвижением технологии CrossFire канадская компания не собирается — физику сможет обрабатывать как единственная видеокарта (динамически распределяя ресурсы), так и одна из двух в режиме CrossFire, при этом необязательно покупать две топовых карточки!
Туманное будущееКак видите, в индустрии царит хаос и неопределенность. AGEIA со своим PhysX и PhysX SDK кричат одно, NVIDIA с Havok FX — совсем другое, ATI же идет своим путем. Без вмешательства всемирного стандартизатора по имени Microsoft, похоже, не обойтись. Пока не будет создан единый программный интерфейс для DirectX, который позволит всем разработчикам писать унифицированные эффекты, ускорение физики в играх будет использоваться постольку поскольку. Пока рано что-либо советовать. Из отмеченных в статье компаний только AGEIA представила на суд публики свой продукт. Более того, компания получила поддержку ряда разработчиков, а это главное.
|