Теги → directx 12
Быстрый переход

Шаг вперёд, два назад: Microsoft помогает студиям портировать игры DX12 на Windows 7

Удивительно, но теперь Microsoft помогает разработчикам переводить свои игры, созданные под DirectX 12, на Windows 7. Долгое время корпорация придерживалась позиции, что людям действительно необходимо перейти с Windows 7 на Windows 10, в том числе для получения всех плюсов, которые сулит графический API DirectX 12.

Если же верить статистике Steam, то почти 20 % пользователей всё ещё используют Windows 7. Многим нравится эта операционная система, а у других просто слишком старая аппаратная платформа. Поскольку планы Microsoft по переводу всех своих пользователей на Windows 10 явно идут не по графику, компания теперь вынуждена внести некоторые коррективы в стратегию. Основной причиной изменения позиции Microsoft является давление со стороны крупных компаний вроде Activision Blizzard.

Некоторое время назад Activision Blizzard решила обновить клиент World of Warcraft, чтобы последний мог использовать преимущества DirectX 12. Аудитория с радостью отреагировала, потому что частота кадров увеличилась за счёт низкоуровневого доступа к оборудованию и более эффективного использования многоядерных процессоров. Однако немалая часть игрового сообщества WoW всё ещё пользуется ПК и ноутбуками на базе Windows 7. Для решения данной проблемы Blizzard обратилась к Microsoft.

Теперь старший руководитель по программам в Microsoft Лю Цзянье (Jianye Lu) объяснил, что компания открыта к аналогичному сотрудничеству и с другими разработчиками: «Мы ещё в марте объявили, что World of Warcraft теперь может использовать преимущества DirectX 12 и под Windows 7. С тех пор мы получили тёплый отклик игрового сообщества и продолжили работать с несколькими игровыми студиями в том же направлении. Стремясь к более широкой и качественной поддержке разработчиков игр, мы публикуем ресурсы, позволяющие им запускать свои игры DirectX 12 на Windows 7».

Ресурсы включают в себя руководство по разработке, пакет NuGet D3D12onWin7 и пример D3D12. Благодаря этому студиям будет намного проще переносить игры DirectX 12 под Windows 7, как это произошло, например, с грядущей Gears 5, которая выйдет в Steam.

Скоро 3DMark позволит тестировать эффективность Variable-Rate Shading

Одной из самых важных задач при разработке игры выступает оптимизация для повышения производительности без существенной потери качества. Поэтому Microsoft на мартовском мероприятии GDC 2019 представила Variable-Rate Shading, которая стала частью API DirectX 12. Вначале аналогичную технологию продвигала NVIDIA под именем Adaptive Shading — она позволяет снизить нагрузку при просчёте периферийных объектов и зон с помощью снижения точности проводимых вычислений. При этом технология позволяет повышать детализацию там, где это необходимо.

VRS (слева) позволила в этой сцене Civilization VI повысить производительность на 14 % при одинаковом качестве.

VRS (слева) позволила в этой сцене Civilization VI повысить производительность на 14 % при одинаковом качестве.

Для вычисления цвета каждого пикселя на экране вызываются шейдеры. Показатель Shading rate указывает разрешение, в котором эти шейдеры просчитываются (оно не всегда равно разрешению экрана). Чем выше Shading rate, тем выше точность и нагрузка на ГП, и наоборот. Традиционно разработчики указывают единое значение Shading rate, так что все пиксели кадра рассчитываются с одинаковым качеством, но проблема в том, что не все они одинаково важны. Эту проблему и призвана решить VRS, разбивающая кадр на блоки, для каждого из которых разработчики могут использовать разные значения Shading rate: например, для пикселей, которые находятся в глубоких тенях, вдали от камеры или на периферии, вне фокуса внимания игрока. За счёт этого можно существенно повысить частоту кадров, незначительно потеряв в визуальном качестве.

Civilization VI с применением VRS — красные области показывают зоны, в которых Shading rate установлен в режим 1 × 1, а синие — 2 × 2

Civilization VI с применением VRS: красные области — зоны, в которых Shading rate установлен в режим 1 × 1, а синие — 2 × 2

Ещё на GDC 2019 ряд компаний, в том числе Turn 10 Studios, Ubisoft, Massive Entertainment, 343 Industries, Stardock, IO Interactive, Activision и Epic Games, заявили, что внедрят в свои проекты Variable-Rate Shading. Также поддержкой технологий обзавелись графические ускорители NVIDIA Turing и Intel Gen11, а AMD запатентовала такой подход ещё в 2017 году. В общем, в будущих играх и консолях поддержка VRS будет едва ли не обязательной. Особенно растёт важность в подобных подходах ввиду распространения экранов высокого разрешения 4K и в перспективе 8K, а также виртуальной реальности — благодаря отслеживанию взгляда система может снижать разрешение рендеринга к периферии, где человеческое зрение улавливает лишь общие детали.

VRS на движке Unreal Engine 4 в сцене Sun Temple на прототипе ускорителя Intel Gen11

VRS на движке Unreal Engine 4 в сцене Sun Temple на прототипе ускорителя Intel Gen11

Но как же сравнивать эффективность работы видеокарт в этом перспективном режиме? UL Benchmarks решила помочь с этой задачей, представив функциональный тест 3DMark Variable-Rate Shading. Функциональные тесты 3DMark призваны показать влияние конкретных технологий, методов и возможностей в специализированных задачах. Таковыми, например, выступают тест для оценки сглаживания NVIDIA DLSS, 3DMark API Overhead для оценки эффективности низкоуровневых API или 3DMark PCI Express 4.0 для демонстрации преимущества нового интерфейса.

Функциональный тест 3DMark VRS предназначен для сравнения производительности и качества изображения при использовании Variable-Rate Shading. Тест также предлагает интерактивный режим для экспериментов с различными настройками VRS и возможность экспорта кадров для детального сравнения. Сцена представляет собой лес с китайскими фонариками. В первом проходе VRS не используется, чтобы создать базовую картинку для сравнения.

Скриншот 3DMark VRS без VRS

Скриншот 3DMark без VRS

Скриншот 3DMark с VRS

Скриншот 3DMark с VRS

А при втором прохождении уже применяется Variable-Rate Shading. Благодаря VRS операция с единичным пиксельным шейдером может быть применена к блоку пикселей: например для затенения блока пикселей 4 × 4 одной операцией, а не 16 отдельными. В 3DMark VRS показатель Rate Shading зависит от расстояния до камеры: для самых дальних объектов включается VRS 4 × 4 (синие области на изображении), 2 × 2 для геометрии на среднем расстоянии (зелёные области) и наиболее качественный 1 × 1 (красные области) — для ближайших объектов переднего плана.

Скриншот 3DMark VRS с визуализацией областей с разным уровнем качества VRS

Скриншот 3DMark VRS с визуализацией областей с разным уровнем качества VRS

Тест VRS станет частью пакета 3DMark уже 26 августа. Он будет доступен в виде бесплатного обновления для 3DMark Advanced Edition и для пользователей 3DMark Professional Edition с действующей годовой лицензией.

В DirectX 12 добавлена поддержка Variable Rate Shading

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

На мероприятии Game Developers Conference 2019 корпорация из Редмонда объявила о реализации технологии Variable Rate Shading, которая входит в API DirectX 12. Эта технология является функциональным аналогом NVIDIA Adaptive Shading и предназначена для экономии ресурсов видеокарты. Это позволяет снизить нагрузку при просчёте периферийных объектов и зон. При этом технология позволяет повышать детализацию там, где это необходимо.

В результате такая технология повышает производительность в игре без заметной потери качества изображения. В ходе презентации компания показала работу технологии в игре Civilization VI. Как отмечается, кадровая частота в левой части изображения оказалась на 14 % выше, чем в правой при одинаковом качестве.

Ряд компаний, в том числе Turn 10 Studios, Ubisoft, Massive Entertainment, 343 Industries, Stardock, IO Interactive, Activision и Epic Games, уже заявили, что внедрят в свои проекты Variable Rate Shading. При этом в Редмонде заявили, что технология поддерживается картами NVIDIA на архитектуре Turing и будущим семейством Intel Gen11. Также не исключено, что VRS будут поддерживать и будущие дискретные карты Intel, хотя явно этого пока не говорили. А ранее появлялись слухи о поддержке технологии в GPU поколения Navi и игровых next-gen-консолях.

В результате технология позволит создавать более качественные в графическом плане игры со сравнительно невысокими требованиями к видеокарте.

Вышел драйвер Radeon 19.3.2 с поддержкой новых игр, расширений Vulkan и DX12 под Windows 7

К запуску новых крупных игровых проектов производители видеокарт стараются подготовить и свежие графические драйверы. AMD недавно представила Radeon Software Adrenalin 2019 Edition 19.3.2, который приносит поддержку кооперативного ролевого боевика Tom Clancy’s The Division 2, а также дополнения Gathering Storm к стратегии Sid Meier’s Civilization VI. Вдобавок AMD обещает общий прирост производительности до 4 % по сравнению с последним февральским графическим драйвером Radeon Software 19.2.3.

Отдельно AMD упомянула о поддержке DirectX 12 под Windows 7 в некоторых играх. Напомним: недавно Microsoft совершенно неожиданно сообщила, что некоторые игры, включая World of Warcraft, получат преимущества низкоуровневого и многопоточного API даже на ПК, работающих под управлением Windows 7.

В Radeon Software 19.3.2 также добавлена поддержка целого ряда расширений открытого низкоуровневого API Vulkan: VK_EXT_depth_clip_enable, VK_EXT_memory_priority, VK_EXT_memory_budget, VK_KHR_vulkan_memory_model, VK_EXT_debug_utils, VK_KHR_depth_stencil_resolve, VK_KHR_shader_float16_int8, VK_EXT_transform_feedback.

Как всегда, инженеры AMD внесли несколько текущих исправлений:

  • Radeon ReLive для VR не устанавливался;
  • график работы вентилятора не переключался в ручной режим;
  • изменения настроек Radeon WattMan через Radeon Overlay не сохранялись или вступали в силу после закрытия Radeon Overlay.

Radeon Software Adrenalin 2019 Edition 19.3.2 может быть загружен в версиях для 64-бит Windows 7 или Windows 10 как с официального сайта AMD, так и из меню настроек Radeon. Он датирован 14 марта и предназначен для видеокарт семейства Radeon HD 7000 и выше.

Microsoft портировала DirectX 12 на Windows 7, первая ласточка — World of Warcraft

Microsoft ведёт себя не совсем последовательно: недавно компания напомнила своим клиентам, что поддержка Windows 7 прекратится в следующем году, и предложила задуматься об обновлении до Windows 10. Однако теперь она, похоже, дала некоторым игрокам повод не обновляться: компания сообщила, что сделала критическую часть DirectX 12 доступной для своей старой ОС — всё ради поклонников World of Warcraft от Activision Blizzard.

Стоит отметить, что речь не идёт о полном переносе DirectX 12 на Windows 7. Сообщается только о портировании среды исполнения Direct3D 12 в пользовательском режиме — наиболее важной части API для запуска игр. Разработчики не будут иметь доступа ко всему пакету DirectX 12 SDK для операционной системы Windows 7.

Так зачем программный гигант пошёл на такой шаг? Дело в том, что DirectX 12 позволяет эффективнее использовать ресурсы многопоточных систем, а разработчики World of Warcraft добились значительного роста производительности под Windows 10, где функции DX12 доступны официально. Blizzard хотела дать остальным своим пользователям, многие из которых по-прежнему играют на ПК с Windows 7, те же возможности, и, вероятно, смогла уговорить Microsoft.

World of Warcraft: Battle for Azeroth, начиная с обновления 8.1.5, будет использовать DirectX 12 даже под Windows 7. И это только первая такая игра, по словам Microsoft. Будут и другие, которые последуют этому примеру (по крайней мере, такие надежды выражаются). Редмондский гигант явно становится более открытым — об этом говорит и предстоящий запуск Halo: The Master Chief Collection на ПК, да ещё и в Steam.

Впрочем, Microsoft продолжает настаивать, что Windows 10 обеспечивает наилучшее игровое окружение, поскольку включает оптимизации для DirectX 12 на уровне ОС. Так ли иначе, но поклонники известной MMORPG уже скоро получат на Windows 7 заметную прибавку производительности. Любопытно, что Microsoft не предлагает аналогичных преимуществ владельцам ПК с Windows 8 и 8.1.

Благодаря DirectML видеокарта Radeon VII получит аналог ИИ-сглаживания NVIDIA DLSS

Постепенно о видеокарте AMD Radeon VII становится известно всё больше подробностей. Очередной порцией информации в интервью японскому ресурсу 4Gamer поделился Адам Козак (Adam Kozak), один из ведущих специалистов по маркетингу в Radeon Technologies Group.

Наиболее интересное заявление представителя AMD касается искусственного интеллекта и машинного обучения. Было отмечено, что видеокарта Radeon VII демонстрирует отличные результаты при работе с технологией DirectML. На данный момент разработчики AMD экспериментируют с предварительной версией нового SDK.

DirectML является расширением для DirectX 12 и предназначено для реализации аппаратного ускорения задач, связанные машинным обучением и искусственным интеллектом, с помощью графических процессоров. Собственно, сокращение ML и означает machine learning (англ. машинное обучение).

В частности, с помощью DirectML можно реализовать алгоритмы сглаживания на базе систем ИИ, то есть что-то наподобие технологии сглаживания NVIDIA DLSS. Только здесь вместо специальных тензорных ядер, имеющихся в GPU Turing, будут использоваться универсальные потоковые процессоры GPU. Остаётся лишь вопрос, насколько эффективным окажутся новые алгоритмы сглаживания.

Но в любом случае получается, что сглаживание с DirectML является более универсальным решением, нежели DLSS. И хотя представитель AMD говорил лишь о Radeon VII, вполне логично будет предположить, что DirectML вполне сможет работать на всех видеокартах с поддержкой API DirectX 12, включая и более старые решения от AMD и NVIDIA. Кроме того, есть вероятность, что поддержка DirectML будет реализована также и в игровых консолях, правда, уже следующего поколения.

Компания Microsoft представила DirectML осенью прошлого года и пообещала добавить его поддержку в грядущее весеннее обновление Windows 10. На примере игры Forza Horizon 3 компания показала масштабирование картинки с Full HD до 4K со сглаживанием в режиме реального времени. Результат получился весьма заметным.

Движок Unity получил поддержку DX12 на Xbox One и прибавку в скорости

Компания Unity Technologies объявила, что теперь её движок, активно используемый во многих играх (особенно в небольших независимых проектах), поддерживает низкоуровневый графический API Microsoft DirectX 12 на Xbox One. Это позволяет разработчикам игр без особых усилий повысить производительность своих проектов — во многом за счёт технологии асинхронных вычислений, которая поддерживается в графической архитектуре AMD GCN.

Unity Technologies также подчеркнула, что в 2019 году она сосредоточится на улучшении производительности DirectX 12 на всех платформах, и DirectX 11, наконец, займёт второстепенное место в приоритетах компании. Возможно, разработчики уже скоро начнут указывать DirectX 12 в качестве базового требования для своих будущих проектов.

За счёт эффективного использования многоядерных систем, более низкоуровневого доступа к графическому оборудованию, других оптимизаций и новшеств, переход на DirectX 12 может давать ощутимый прирост, особенно на системах со слабым CPU (какими, несомненно, обладают актуальные игровые консоли).

Например, по оценкам Unity, в демонстрационной сцене Book of the Dead: Environment частота кадров на Xbox One X в разрешении 1440p возросла более чем на 8 %. Активировать поддержку DirectX 12 разработчики могут уже в Unity 2018.3.

Гоночный симулятор F1 2018 получил тестовую поддержку DirectX 12 на ПК

Компания Codemasters объявила о проведении тестирования поддержки библиотек DirectX 12 в гоночном симуляторе F1 2018 на ПК.

По информации, предоставленной разработчиком, бета-сборка эквивалентна стандартной F1 2018. Игроки имеют доступ ко всему контенту и могут состязаться онлайн с гонщиками из стабильной версии, а существующие сохранения полностью совместимы. Поддержка DirectX 12 реализована в первую очередь ради функций графического кода, которые компонент предоставляет игровому движку. К тому же сами пользователи сообщают, что в некоторых случаях заметили прирост производительности.

DirectX 12 поддерживается только на Windows 10. Чтобы установить бета-сборку F1 2018, нужно в библиотеке Steam нажать правой кнопкой мыши на игре и выбрать «Свойства», перейти во вкладку «Бета-версии», в выпадающем меню выбрать f1_dx12_beta и ввести пароль 244EwzNFQkfnqf4Xc6GTmgsPtT6LAbYn. После установки новой версии гоночного симулятора его можно будет запустить с поддержкой DirectX 12.

Codemasters также просит тестировщиков отписаться о работе игры на официальном форуме.

«Укрепляйте свою репутацию как на трассе, так и за её пределами: к ключевым событиям вашей карьеры добавляются интервью в СМИ. Покажете ли вы себя сдержанным спортсменом или любителем громких заявлений? Станете ли вы развивать свою команду или поручите агенту заняться соперниками? В F1 2018 ваша судьба и карьера — только в ваших руках», — гласит описание F1 2018. Игра вышла на ПК, Xbox One и PlayStation 4.

Видео: новый DX12-тест в 3Dmark для ПК со встроенной графикой и ARM-систем

UL Benchmarks сообщила о запуске нового теста Night Raid, рассчитанного на оценку производительности ноутбуков, планшетов и ПК начального уровня со встроенной графикой класса DirectX 12. Ещё одной отличительной особенностью Night Raid является расчёт на системы, работающие на базе Windows 10 ARM. Речь идёт о новых компьютерах с чипами Qualcomm Snapdragon вроде ASUS NovaGo, HP ENVY x2, Lenovo Miix 630 и Lenovo Yoga C630 WOS.

По этому случаю разработчики представили трейлер этого теста, а также до 15 октября будут продавать 3DMark Advanced Edition в Steam и на веб-сайте UL Benchmarks с 75-процентной скидкой. Стоит отметить, что все существующие владельцы продвинутых версий пакета получат тест автоматически. Также не стоит забывать и о бесплатной версии 3DMark для обычных пользователей.

Night Raid — существенно менее требовательный тест, чем 3DMark Time Spy, предназначенный для мощных ПК с графикой DirectX 12. Разработчики сообщают, что если система набирает в Night Raid 5000 баллов, то она будет в состоянии исполнять в разрешении 1080p такие игры, как Counter-Strike: Global Offensive, Dota 2 и League of Legends на частоте 70–80 кадров/с при настройках низкого и среднего качества.

3DMark Night Raid включает в себя две графических задачи, проверку CPU и просто демонстрацию. Графические тесты включают динамические отражения, глобальное затенение, тесселяцию, сложные эффекты частиц и постобработку. Тест CPU предусматривают моделирование физики, отсечение невидимой геометрии и процедурную генерацию. Демонстрация предназначена просто для развлечения и не влияет на оценку.

Новая статья: Сравнение производительности видеокарт в SLI и CrossFire (mGPU) под DirectX 11 и DirectX 12

Данные берутся из публикации Сравнение производительности видеокарт в SLI и CrossFire (mGPU) под DirectX 11 и DirectX 12

Новая статья: Сравнение производительности видеокарт в DirectX 11, DirectX 12 и Vulkan, часть 2 (слабый CPU)

Данные берутся из публикации Сравнение производительности видеокарт в DirectX 11, DirectX 12 и Vulkan, часть 2 (слабый CPU)

Новая статья: Сравнение быстродействия видеокарт в DirectX 11, DirectX 12 и Vulkan, часть 1

Данные берутся из публикации Сравнение быстродействия видеокарт в DirectX 11, DirectX 12 и Vulkan, часть 1

Видео: эксперименты студии Remedy с трассировкой лучей DXR

На конференции разработчиков игр GDC 2018 в Сан-Франциско Remedy Entertainment рассказала о своих экспериментах и исследованиях, которые касаются трассировки лучшей в реальном времени. А если говорить точнее — нового API Microsoft DirectX Raytracing (DXR) и эксклюзивного пакета NVIDIA GameWorks RTX для видеокарт с архитектурой Volta и выше.

Студии был предоставлен ранний доступ к этой технологии для проведения исследований в области применимости технологий трассировки лучей RTX и DXR в своём игровом движке Northlight. Remedy в своей последней игре Quantum Break старалась добиться максимально реалистичной графики, чтобы переход от сериала с живыми актёрами к игре был по возможности бесшовным. Вдобавок игра остаётся эксклюзивом платформ Microsoft (Xbox One, Windows). Неудивительно, что студия оказалась в числе немногих компаний, получивших ранний доступ к Microsoft DirectX Raytracing.

Ведущий программист Remedy в области графики Тату Аалто (Tatu Aalto) продемонстрировал ранние результаты экспериментов во время своей презентации «Эксперименты с DirectX Raytracing на движке Northlight от Remedy» на GDC 2018. Сама видеодемонстрация затем была опубликована на официальном Youtube-канале компании.

Remedy отмечает, что её реализация DXR для исполнения в реальном времени предусматривает смешанное использование традиционных методов растеризации вместе с трассировкой лучей — последняя позволят добиться более реалистичной картинки. Среди улучшений упомянуты более точные мягкие тени, обтекающее затенение, отражения и глобальное освещение. На представленном видео включены все эффекты трассировки лучей, добавленные разработчиками в движок Northlight.

«Интеграция технологии NVIDIA RTX в наш движок Northlight прошла относительно просто. Опираясь исключительно на графические процессоры NVIDIA, мы были поражены, как быстро смогли создать прототипы новых методов освещения, отражения и обтекающего затенения со значительно повышенной визуальной точностью по сравнению с традиционной растеризацией», — отметил руководитель технической команды Remedy Микко Орренмаа (Mikko Orrenmaa).

Разработчики отметили, что технология находится на стадии исследования и далека от интеграции в реальные игровые проекты. Судя по видео и скриншотам (как демонстрации Remedy, так и Futuremark), реалистичность освещения и отражений действительно ощутимо возрастает, однако появляются новые артефакты, выражающиеся в своеобразных точках и шумах, чем-то сходных с гребёнкой (наиболее заметны на границах объектов). Возможно, для борьбы с ними понадобятся новые алгоритмы полноэкранного сглаживания.

Видео: Futuremark показала трассировку лучей в реальном времени на базе DX12

Большой новостью Конференции разработчиков игр GDC 2018 стал анонс Microsoft технологии трассировки лучей в реальном времени — DirectX Raytracing (DXR). Она открывает двери для нового класса графических эффектов в играх, призвана сделать освещение, затенение и отражения более реалистичными с точки зрения физики.

Одной из компаний, которая участвовала в анонсе вместе с Microsoft, была финская Futuremark, известная прежде всего своими тестовыми пакетами 3DMark. Она наряду с другими разработчиками уже опробовала DXR и даже выпустила видеозапись своей демонстрации, использующей метод трассировки лучей в реальном времени.

«Визуализация точных отражений в режиме реального времени затруднительна. При использовании традиционных методов растеризации возникает множество проблем и ограничений. В течение последних нескольких месяцев мы изучали способы комбинирования DirectX Raytracing с существующими методами для решения некоторых из этих проблем», — отметил коммерческий директор Futuremark Яни Джоки (Jani Joki).

Результатом этих исследований и стала демонстрация. Как видно на представленных примерах, DXR среди прочего позволила компании визуализировать в реальном времени реалистичные отражения на динамических объектах, а также выводить отражения предметов, находящихся за пределами поля зрения камеры.

DXR даёт возможность использовать для большей части рендеринга обычные методы растеризации, а трассировку лучей применять для расчётов теней, отражений и других эффектов, которые трудно реализовать традиционным конвейером рендеринга GPU. Futuremark подчёркивает, что её демонстрация DXR работает в режиме реального времени на существующих GPU класса DX12 (на каком именно ускорителе осуществлена запись, не сообщается) и её было относительно легко интегрировать в существующий движок 3DMark.

Компания гордится тем, что одной из первых применила на практике технологию и обещает, что DirectX Raytracing будет использоваться в её новом тесте 3DMark, который должен выйти до конца года (очевидно, к полноценному запуску DXR).

Microsoft анонсировала API трассировки лучей для DirectX 12

Microsoft с партнёрами, как и ожидалось, сделала важный анонс в рамках мероприятия NVIDIA GDC 2018 — в графическом API DirectX 12 появится новая функциональность в лице DirectX Raytracing (DXR). Речь идёт о стандарте программной и, что куда интереснее, аппаратной трассировки лучей (ray tracing) в рамках DirectX.

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

Что такое DirectX Raytracing (DXR)? На самом высоком уровне речь идёт о четырёх новых концепциях API DirectX 12:

  1. Структура ускорения (acceleration structure) — объект, представляющий полную 3D-среду в формате, оптимальном для обработки графическим ускорителем. Представленная в качестве двухуровневой иерархии, структура обеспечивает как оптимизированное отслеживания лучей с помощью GPU, так и эффективную модификацию динамических объектов со стороны приложения.
  2. Новый метод списка команд DispatchRays, который является отправной точкой для трассировки лучей в сцене. Именно с его помощью игра фактически передаёт рабочие нагрузки DXR на GPU.
  3. Набор новых шейдерных типов HLSL, включая ray-generation, closest-hit, any-hit и miss. Они определяют, какими именно вычислениями затенения нагружает DXR ускоритель. Когда вызывается DispatchRays, запускается шейдер генерации лучей ray-generation. Используя новую внутреннюю функцию TraceRay в HLSL, этот шейдер отслеживается в сцене. В зависимости от того, куда луч направлен, в точке пересечения может быть вызван один из нескольких шейдеров hit или miss. Это позволяет игре назначать каждому объекту свой собственный набор шейдеров и текстур, что приводит к уникальному материалу.
  4. Режим конвейера трассировки, совпадающий по духу с сегодняшними режимами графического или вычислительного конвейеров, подразумевает использование шейдеров трассировки лучей и прочие соответствующие вычислительные нагрузки.

Проект PICA PICA от команды EA SEED показывает, как трассировка лучей в реальном времени при помощи DXR может выглядеть в будущих играх

DXR не требует наличия новой видеокарты — по словам Microsoft, рабочие нагрузки DXR могут возлагаться на любой из существующих движков DX12. Дело в том, что по своей сути DXR является нагрузкой вычислительного типа. По словам Microsoft, современные аппаратные графические ускорители становятся всё более универсальными, и в конечном итоге большинство блоков фиксированной функциональности будут заменены на универсальный HLSL-код.

Microsoft вместо традиционного подхода, предусматривающего создание для режима трассировки лучей нового метода CreateRaytracingPipelineState, предпочла более общий и гибкий метод CreateStateObject. Он может использоваться как для активации конвейера трассировки, так и для графического, вычислительного или любого другого будущего конвейера GPU. Теоретически это означает, что разработчики смогут создавать свои DXR-рейтрейсеры, в той или иной степени смешанные с традиционной растеризацией, чтобы достигать приемлемых результатов с точки зрения качества и производительности.

Любопытно, что опробовать DXR разработчики могут уже сейчас. Microsoft выпустила пакет экспериментальных SDK-инструментов с примерами кода. Для работы с ним требуется участие в программе Windows Insider и грядущий весенний пакет обновлений Windows 10 Redstone 4 (RS4). Полноценный же запуск API DXR запланирован на осень.

Впрочем, судя по всему, пока единственной по-настоящему оптимизированной под DXR аппаратной архитектурой является NVIDIA Volta, которой пока нет на игровом рынке. AMD ещё работает над драйвером, который обеспечит поддержку технологии. Возможно, с выходом DXR на рынок использование анонсированного ещё на GDC 2014 низкоуровневого графического API DirectX 12 станет более широким.

Стоит отметить, что некоторые известные компании и игровые студии, как отмечает Microsoft, уже около года знают о создании DXR и в той или иной степени работают над разработкой стандарта и внедрением его в свои графические движки. Среди прочих названы имена Epic Games, Electronic Arts и DICE, Unity, Remedy, 4A Games, Allegorithmic и Futuremark.

window-new
Soft
Hard
Тренды 🔥