> > > > Демо Neon Noir - разработчики поясняют технические подробности

Демо Neon Noir - разработчики поясняют технические подробности

Опубликовано:

crytekНа GDC 2019 демо трассировки лучей Neon Noir вызвало буквально сенсацию, поскольку в нем не была задействована какая-либо аппаратная технология трассировки лучей или интерфейс DXR. Демо, по всей видимости, запускалось на видеокарте Radeon RX Vega 56 в разрешении 1080p с частотой кадров 30 FPS.

Разработчики Crytek опубликовали подробный пост в своем блоге, где описываются технические подробности демо. А именно Владимир Каялин, старший инженер редеринга Cry Engine, и Рон Фрельш (Ron Frölich), старший 3D-художник Hunt: Showdown.

Но сначала разработчики рассказали о мотивации, которая побудила их создать демо. Иллюзию правильно рассчитанных отражений можно создать с помощью статических и динамических кубических карт, локальных отражений в экранном пространстве (SSLR) или динамических отражений плоскости (Planar Reflections). Но если технология сработает неудачно, то будут заметны недостатки подобных симулированных отражений.

Crytek для симуляции трассировки лучей использовала технологию, которая позволяет создавать наиболее реалистичное освещение. А именно Voxel Cone Tracing, которая опирается на NVIDIA Voxel Global Illumination (VXGI). Данная технология уже давно входит в состав Unreal Engine в виде SVOGI (Total Illumination). И расчеты, которые производятся в рамках SVOGI, являются важной составляющей частью расчетов трассировки лучей в реальном времени, то есть полученные данные можно использовать и для других эффектов.

Сравнительно низкие аппаратные требования

Как мы уже упоминали, демо работало на Radeon RX Vega 56 в разрешении 1080p при 30 FPS. Разработчики также протестировали режим, в котором отражения рассчитывались в половинном разрешении, что позволило получить больше 40 fps в 1440p.

"At the moment we don’t benefit from any additional performance that modern APIs like Vulkan or DX12 or dedicated hardware like the latest generation of graphics cards could give us. But of course, we will optimize the feature to achieve an uplift performance from these APIs and graphics cards."

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

"However, RTX will allow the effects to run at a higher resolution. At the moment on GTX 1080, we usually compute reflections and refractions at half-screen resolution. RTX will probably allow full-screen 4k resolution. It will also help us to have more dynamic elements in the scene, whereas currently, we have some limitations."

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

В блоге разработчики поясняют свое решение по более приоритетному расчету отражений. В Cry Engine уже есть довольно хороший расчет глобального освещения, что облегчило задачу расчета трассировки лучей. Но также можно реализовать и другие эффекты.

Конечно, не обошлось без "подводных камней", которые тоже описаны.

На скриншоте видно, что отражения уступают по детализации самим объектам. Но здесь может играть роль и уровень детализации LOD, поскольку отражения расположены на большем расстоянии от зрителя. Кроме того, такой подход позволяет уменьшить сложность вычислений.

Новая версия технологии тотального освещения (total illumination) будет добавлена в планы разработки Cry Engine. Но когда именно она войдет в сам движок - неизвестно.