Сейчас все активно обсуждают трассировку лучей, суперсэмплинг и прочие продвигаемые большими компаниями технологии. В недавнем прошлом ситуация выглядела иначе, а популярны были совершенно другие вещи: в маркетинге игр регулярно всплывали названия вроде PhysX, TressFX и Hairworks. Сегодня же их не услышать: были ли они выброшены за ненадобностью, или произошло что-то еще? Cybersport.ru провел небольшое расследование и предлагает узнать судьбу технологий, что еще недавно были передовыми, а ныне оказались забыты.
PhysX
История, пожалуй, самой известной «пропавшей» технологии начинается не с NVIDIA, как принято думать, а со сторонней и относительно небольшой компании Ageia. Именно Ageia представила первую версию PhysX, причем в основе технологии лежала другая разработка — NovodeX Physics швейцарской компании NovodeX AG. Последняя была выкуплена, что и положило начало новой технологии.
PhysX — название не только софтверной части, но и физической платы: Ageia выпускала отдельный физический процессор (PPU), который позволял ускорить расчет физики и снизить нагрузку на CPU и GPU. При этом программное решение в целом может работать и без отдельной платы, но в таком случае нагрузка на процессор заметно увеличивается. Ключевой проблемой было то, что мало кто был готов покупать отдельную плату исключительно для расчетов физики. Да и игр, использующих технологию Ageia, было не так уж и много: за всё время вышло всего 15 тайтлов с поддержкой PPU. Решением стало внедрение физического процессора в видеокарты: за покупку компании успели побороться AMD и NVIDIA, и победила последняя: сделка с Ageia была заключена в 2008 году, и PPU стал частью структуры CUDA — программно-аппаратной архитектуры параллельных вычислений. PhysX от NVIDIA призвана улучшить производительность при обсчете физики и работает по трем ключевым направлениям: обработка твердых тел, тканей и жидкостей. Многие наверняка помнят, как NVIDIA продвигала те же Borderlands 2 и Batman: Arkham City через демонстрацию проработанной физики, но сегодня термин, как кажется, полностью исчез с радаров... Хотя на деле PhysX всё еще с нами.
Дело в том, что в 2015 году NVIDIA сделала исходный код физической модели открытым и доступным для всех желающих. Теперь он в полной мере или частично встроен во многие актуальные движки: например, PhysX лежит в основе физических моделей Unity, Unreal Engine 4, 4A Engine (основа серии «Метро»), REDengine 3 ( «Ведьмак 3: Дикая охота») и Illusion Engine ( Mafia II и III). Название просто не выпячивается, так как в этом нет необходимости: современные GPU имеют достаточную мощность, чтобы обсчитывать сложную физику без необходимости в отдельных решениях вроде PPU.
3D Vision
Опять же, развитие более старой и совсем забытой технологии затворных очков, берущих начало еще в 1990-х. NVIDIA представила свое решение в 2008-м вместе с выходом Windows Vista. 3D Vision — особый драйвер, позволяющий создавать стереокартинку из любого приложения. Для преобразования необходимы монитор или проектор с поддержкой частоты 120 Гц, графический процессор серии GeForce и очки 3D Vision. Ряд игр создавался с учетом технологии, как, например, оригинальная Trine и Metro 2033, однако в большинстве случаев расчет 3D-изображения брал на себя специальный драйвер, из-за чего иногда возникали графические артефакты. Особенностью технологии было одновременное отображение изображений с двух точек зрения вместо привычной одной, за счет чего и создавался стереоэффект. Широким спросом 3D Vision не пользовалась и, как следствие, «умерла»: о прекращении поддержки NVIDIA объявила в марте 2019-го.
Hairworks
Еще одна интересная и необычная технология от NVIDIA, призванная отображать более реалистичные волосы за счет сложной симуляции отдельных прядей вместо привычной единой текстурированной модели. Самым известным примером использования технологии можно считать третьего «Ведьмака», но встречается она и в таких тайтлах, как Far Cry 4 и Final Fantasy XV. Здесь Hairworks еще продвигалась как какая-то уникальная особенность, но со временем стала просто очередной технологией, не требующей отдельного маркетинга.
Собственно, работа Hairworks основана на тесселяции — особой технологии автоматического добавления многоугольников в полигональную сетку для повышения детализации. Говоря простыми словами, это сглаживает «углы» моделей, позволяя чуть ли не из куба создавать шары. Принцип работы Hairworks именно в этом: разработчики создают простые и грубые формы, которые за счет дополнительного обсчета выглядят куда реалистичнее. Отсюда, кстати, и требования к железу: Hairworks работает только на видеокартах NVIDIA, потому что происходит сложный процесс тесселяции с фактором х64, что возможно только на архитектуре CUDA. Со временем, правда, AMD внедрила решение Polaris, позволяющее упрощать определенные алгоритмы, что позволило запускать Hairworks и на ее видеокартах. Сегодня Hairworks доступна почти свободно: нужные библиотеки встроены, например, в редакторы 3D Max и Maya, из которых модели можно портировать практически в любой движок (при условии использования NVIDIA GameWorks). Просто на этом никто больше не делает акцент, как раньше.
TressFX
Альтернатива вышеобозначенной Hairworks от AMD. TressFX призвана была добавить более реалистичный рендеринг волос, шерсти и травы с помощью использования мощностей графического процессора. В отличие от NVIDIA, AMD сразу предлагала свое решение бесплатно и с открытым кодом для использования любым желающим.
Суть технологии во многом похожа на Hairworks: она также призвана обсчитывать материалы более реалистично, предлагая вместо единого массива работать с отдельными примитивами, будь то волосы, шерсть или трава. При включении технологии обсчитываются отдельные нити, количество которых может достигать нескольких тысяч. При этом у каждой присутствует несколько десятков узлов для деформации, плюс на них влияют гравитация, ветер, движения и многое другое, что позволяет добиться большей реалистичности картинки. Первая версия была представлена в Tomb Raider 2013 года, где с помощью TressFX отображались волосы Лары Крофт. В 2020-м вышла уже версия 4.1, которая была напрямую интегрирована в Unreal Engine 4 и с тех пор является частью SDK. Впрочем, есть и более продвинутая версия — PureHair, которая использовалась в Rise of the Tomb Raider. За более чем десять лет AMD улучшила производительность технологии, добавила возможность группировать волосы, менять гравитацию (например, для реалистичного поведения волос в воде) и применять силы сжатия и растяжения. TressFX сегодня стала стандартом и попросту не требует отдельного маркетинга.
Mantle
Для многих прошедшая незаметной революция от AMD. Mantle — особая технология рендеринга, созданная совместно с DICE, своего рода альтернатива существовавшим на рынке DirectX и OpenGL, при этом без жестких требований к графическому адаптеру.
Важной фишкой Mantle была оптимизация в случаях, где центральный процессор выступал в качестве ограничивающего фактора. Это одна из ключевых технологий, популяризовавшая использование многопоточности: уже в 2013-м Mantle позволяла работать с восьмиядерными процессорами, распределяя нагрузку для ускорения обсчета графики. Определенная оптимизация проводилась и для графических процессоров, хотя в меньшей степени из-за особенностей работы. Одной из первых игр с использованием Mantle стала Battlefield 4: производительность выросла в разы в сравнении с актуальным на тот момент DirectX 11. Поддержку технологии также внедрили в Battlefield Hardline, Thief, Civilization: Beyond Earth, Dragon Age: Inquisition и Sniper Elite 3. Однако в 2015-м разработка Mantle была остановлена, а в 2019-м полностью прекратилась поддержка ввиду непопулярности решения. Однако нельзя сказать, что Mantle пропала без следа.
Дело в том, что технологии, созданные AMD и DICE, легли в основу Vulkan — актуального API для рендеринга 3D-графики. Анонс состоялся в том же 2015-м, когда прекратили разработку Mantle, а релиз первой версии — в 2016-м. Наработки были переданы компании Khronos Group — сообществу разработчиков, занимающихся стандартизацией технологий и совместимостью с различными устройствами и платформами. Vulkan — лишь один из десятков стандартов, созданных сообществом. Сейчас актуальна версия 1.4, успевшая сильно продвинуться в сравнении с изначальной Mantle по множеству направлений.