![image](https://habrastorage.org/getpro/habr/post_images/b61/360/aec/b61360aec53304183227f610190f2521.jpg)
Сегодня стартовала 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 в данный момент работает над драйвером для поддержки технологии.
![image](https://habrastorage.org/getpro/habr/post_images/11c/b5b/a80/11cb5ba80c588eeb9175104bc869568a.png)
Относительно технологии RTX от NVIDIA нужно заметить, что на данный момент её технические подробности еще не раскрыты. Само собой, поддержка RTX будет добавлена во все основные игровые движки, а также появится поддержка рейтресинга в GameWorks. Сам анонс NVIDIA успел утечь с брифинга несколько дней назад.
![image](https://habrastorage.org/getpro/habr/post_images/ee4/2be/0ae/ee42be0ae7bc99419b7acb9ae4affcbc.png)
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 на английском
Комментарии (15)
Barafu
20.03.2018 13:30Всё это давно можно пощупать в последних версиях Блендера, где они используются для предпросмотра сцены без рендера. Гуглить Blender Eevee.
Azoh
20.03.2018 13:42Насколько я понимаю, Blender Eevee не использует трассировку лучей для рендеринга. Если я не прав, можете показать, где почитать про их рендер?
1vanK
21.03.2018 00:13Blender Cycles в режиме превью, шумновато, но реалтайм (в принципе тут видео тоже с шумами)
perfect_genius
20.03.2018 15:25Хоть бы слово про частоту кадров. Если есть хотя бы стабильные 30 без раздражающего шума, то это большой прогресс.
kosmos89
20.03.2018 17:41research.nvidia.com/publication/interactive-reconstruction-monte-carlo-image-sequences-using-recurrent-denoising
www.youtube.com/watch?v=YjjTPV2pXY0perfect_genius
20.03.2018 18:25Они ожидают, что в будущем нейросеть будет в реальном времени убирать шум? О_о
Ну, если аппаратная, то…
Alert123
20.03.2018 15:45+1Что то в демо ролике множество отражающих поверхностей лишь добавляет визуального шума и бликов. Смотрится «грязно».
acsel31
20.03.2018 18:21Насколько я помню, красивыми всегда были лишь вот такие демки. А, как доходило до промышленного, использования, то везде картинка так себе. А, зачастую, увлечение подобным еще и картинку делало вырвиглазной. Посмотрите те же тесты 3D Mark, где есть природа и освещение и сравните картинку с картинкой того же фаркрая или кризиса.
Ivnika
21.03.2018 09:43Интересно, почему в первой части видео (с солнечным освещением) тени от солнца движутся вместе с камерой? Если это такая «замедленная съемка», то как то смысл теряется…
Marui
Вот выйдут игры, тогда и приходите (с)
zedalert
Да, демки всегда красивые, а игры получаются либо с графонием, либо фпс местами до 10 падает.
VioletGiraffe
Чтоб они вышли, их сначала кто-то должен сделать.
Поддержка новых технологий в популярных движках, теоретически, могла бы привести к более реалистичной картинке в существующих проектах.
Marui
Чувак, на земле около десятка ААА студий с вырвиглазным теком и новый двиг под каждую новую игру. Всё это давно уже юзается в статике. Ясно, что вкатывают в реалтаим. Ждём.