
Сегодня стартовала GDC 2018, и первый серьезный анонс на ней сделала Microsoft совместно со своими партнерами.
В графическое API DirectX 12 будет добавлена новая важная функциональная часть — DirectX Raytracing (DXR). Под этим названием скрывается новое стандартное API для трассировки лучей под DirectX с поддержкой аппаратного и программного ускорения.
Как известно, трассировка лучей (ray tracing) долгое время считалась слабо применимой в приложениях реального времени (например, в играх) технологией в силу низкой практической производительности. Если обычный растровый рендер переводит 3D-сцену в 2D-изображение, применяя различные шейдеры и слои для эмуляции освещения, то в случае трассировки лучей (ray tracing) происходит моделирование взаимодействия отдельных лучей с поверхностями и отслеживается обратная траектория распространения луча, вследствие чего моделируются все связанные с лучами отражения и т.д. (bounces, refractions, reflections). Что ж, видимо, время наконец-то настало.
В свою очередь, NVIDIA анонсировала технологию RTX для трассировки лучей на графических процессорах Volta и выше, которая будет полностью поддерживаться DXR (подразумеваем, что в таком случае вся функциональность RTX доступна в виде графического API).
Самое главное: всё это уже можно пощупать — ссылки на скачивание пакета экспериментального SDK доступна внизу поста, примеры идут в комплекте. Вам потребуется участие в Windows Insider Program и билд Windows 10 Redstone 4 (RS4).
Набор команд DXR будет поддерживать новое и существующее «железо», а также позволит всем писать рейтрейсеры, оптимизированные под GPU. В силу того, что DXR будет расширением уже существующей функциональности DirectX 12, DXR тесно интегрирован с растеризацией — разработчики смогут смешивать две технологии рендеринга для своих нужд, чтобы достигать необходимых результатов и производительности.
Для выпущенных на данный момент видеокарт, поддерживающих DirectX 12, DXR будет работать в режиме полного fallback. Делается это для того, чтобы все могли начать разработку под новое API прямо сегодня, а заодно — убедиться, что использующие API приложения можно будет запускать на «старых» видеокартах. Полноценный релиз API запланирован на осень и наверняка состоится до конца этого года.
DXR будет работать с программным ускорением на видеокартах до Volta, и с аппаратным — для всех карт, начиная с Volta. AMD в данный момент работает над драйвером для по��держки технологии.

Относительно технологии RTX от NVIDIA нужно заметить, что на данный момент её технические подробности еще не раскрыты. Само собой, поддержка RTX будет добавлена во все основные игровые движки, а также появится поддержка рейтресинга в GameWorks. Сам анонс NVIDIA успел утечь с брифинга несколько дней назад.

DirectX 12 был анонсирован на GDC 2014 и стал частью релиза Windows 10, однако до сих пор по-прежнему находится в стадии "early adoption"; причины тому известны, их несколько, и одна из них состоит в том, что DirectX 12 заложил лишь основу низкоуровневого API. Теперь причины подобного шага становятся яснее — предположительно, команда DirectX будет продолжать надстройку новых API поверх этой основы в будущем.
Остальные подробности мы наверняка узнаем уже вскоре: у Microsoft запланировано несколько докладов на GDC, которые будут затрагивать DXR — наибольшее внимание среди них привлекает DirectX: Evolving Microsoft's Graphics Platform. Кроме того, многие игровые студии и компании, занимающиеся созданием компьютерных движков, наверняка поделятся информацией на своих презентациях (у них был приблизительно год на то, чтобы познакомиться с технологией) — ведь среди них Epic Games, Futuremark, DICE, Unity, Electronic Arts, Remedy и 4A Games.
Официальный анонс DirectX Raytracing API
Пост со ссылками на скачивание SDK
Подробный анонс DirectX Raytracing API
Подробный анонс NVIDIA RTX
Статья от Remedy (авторы Max Payne, Alan Wake и Quantum Break, в прошлом — демосценеры)
Слайды от Remedy с GDC 2018
Краткий обзор DirectX Raytracing API на английском