На момент анонса технология аппаратных расчётов объёмного звука AMD TrueAudio казалась весьма перспективной и заманчивой для будущих игр. Однако прошедшие годы показали, что не всё так радужно: её поддержка ограничилась лишь относительно небольшим количеством проектов (самый известный, пожалуй, — Thief), а в последнее время о ней ничего не было слышно.
Но AMD не отказалась от идеи ускорения звуковых эффектов. С запуском 400-й серии видеокарт Radeon была представлена технология TrueAudio Next (TAN), в которой вместо аппаратного блока DSP обработка звука перекладывается на шейдерные ALU графического процессора. Новая технология была построена поверх движка AMD Radeon Rays на основе метода бросания лучей (ray-casting).
С одной стороны, TrueAudio стала потреблять некоторую часть вычислительных ресурсов GPU, но с другой получила бо́льшую гибкость и была оптимизирована для виртуальной реальности. Чуть позже AMD пошла ещё дальше и сделала TrueAudio Next открытой бесплатной технологией, добавив её исходный код в репозиторий GPUOpen.
Но даже после этого об аппаратном ускорении звука по технологии AMD мы почти ничего не слышали. Оказывается, компания не сидела сложа руки и не оставила идею, призванную сделать звуки в играх гораздо более реалистичными и соответствующими физическим законам распространения волн в пространстве: недавно AMD и Valve объявили о совместной работе по поддержке технологий AMD TrueAudio Next в рамках Steam Audio. Выпущена 13-я бета-версия Steam Audio 2.0, в которую добавлена поддержка TAN.
Поддержка аппаратного ускорения TAN со стороны лидирующей на ПК платформы цифровой дистрибуции Steam — это большой шаг вперёд, за которым может последовать появление заметного количества игр, использующих сцены повышенной акустической сложности и детализации, в том числе в виртуальной реальности.
AMD напоминает, что TAN отличается двумя важными возможностями. Первая — это Resource Reservation, которая позволяет разработчикам выделить определённую часть блоков GPU (например, 20 или 25 вычислительных модулей) исключительно для звуковых расчётов, чтобы избежать возможных проблем или задержек. Также функция резервирования ресурсов может включаться и отключаться автоматически, в зависимости от сцены.
Вторая называется GPU Compute Convolution Algorithms. Эти алгоритмы позволяют разработчикам повысить реалистичность в VR-приложениях, увеличив сложность звука и детализацию с помощью сверхточной реверберации (convolution reverb). Она помогает моделировать акустические эффекты под широким набором углов, создавая более глубокое чувство присутствия, и может в перспективе стать обязательным элементом для полноценного погружения в виртуальную реальность.
TAN даёт возможность наращивать количество источников звука, использовать непрямые звуки, модулировать импульсные характеристики объектов (Impulse Response) и так далее. При этом за счёт аппаратного ускорения высвобождаются ресурсы CPU для других задач вроде расчётов физики, искусственного интеллекта персонажей или обеспечения бесперебойной нагрузки конвейера GPU. AMD также утверждает, что TrueAudio Next снижает или даже полностью устраняет нежелательные щелчки, треск и сбои аудио.
Valve назвала две основные причины, которые подвигли её поддержать TrueAudio Next в Steam Audio:
- TAN даёт разработчикам больше гибкости в распределении рабочей нагрузки обработки звука на ПК пользователя. Создатели игр могут выбирать, как процессор и графический ускоритель будут взаимодействовать, чтобы обеспечить впечатляющий звук;
- разработчики получают возможность использовать дополнительный уровень детализации звука на достаточно мощных ПК, не меняя при этом контент. С помощью Steam Audio они могут просто задать более высокие настройки, которые будут использоваться, если на ПК пользователя установлен GPU с поддержкой TAN. Разработчикам не нужно повторно создавать какие-либо материалы.
Поддержка TAN не ограничивается лишь приложениями, которые используют напрямую Steam Audio C API. Отныне разработчики любого проекта на движке Unity с дополнением Steam Audio могут добавить соответствующие настройки, в том числе резервирования блоков GPU — в отсутствие аппаратного ускорения задачи звуковых расчётов будут автоматически переданы CPU и установлены на стандартные значения. TAN также поддерживается в дополнении Steam Audio FMOD Studio для Unity.
Выпущено и дополнение к другому популярному игровому движку, от компании Epic Games — для использования TAN в Unreal Engine 4 нужно просто соответствующим образом настроить дополнение Steam Audio. Более подробной информацией для разработчиков Valve поделилась в своём блоге.
В настоящее время TrueAudio Next работает на ускорителях Radeon RX 470, RX 480, RX 570, RX 580, R9 Fury, R9 Fury X, Pro Duo, RX Vega 56 и RX Vega 64. Также среди системных требований указано наличие драйвера AMD Radeon Software Crimson 16.7.3 или более позднего, ОС Microsoft Windows 7, 8.1 или 10. Учитывая, что речь идёт об открытом стандарте, не исключено, что в перспективе NVIDIA может реализовать его поддержку видеокартами GeForce, если TAN станет достаточно популярным.
Источник: 3DNews