Лучшее  🚀
09.05.2019 в 14:26 Evernews

Трассировка лучей в CryEngine: не совсем честно, но быстро

В будущем движок сможет ускорять трассировку с помощью технологий Nvidia.

Кстати, на сайте читать удобнее

В середине марта разработчики из Crytek показали технологическую демку Neon Noir с трассировкой лучей в реальном времени, работавшей на обычной видеокарте. Теперь компания рассказала, как устроена эта демка.

В Neon Noir трассировка лучей используется для создания реалистичных отражений. Демка, запущенная на Radeon RX Vega 56, выдавала 30 кадров в секунду в разрешении 1080p; по словам разработчиков, если уменьшить разрешение трассировки лучей вдвое, то можно добиться 40+ кадров в секунду в разрешении 1440p.

Для реализации трассировки не использовались специфические API вроде DirectX 12 или Vulkan. Примечательно, что разработчики по-прежнему используют и старые методы освещения вроде SSAO; они применяются, когда нужно повысить производительность.

Сцена, показанная в демо-версии, максимально оптимизирована, трассировка лучей просчитывается не для всех отражающих поверхностей. Разработчики ориентируются на показатель «глянцевости» поверхности, в некоторых случаях могут использоваться кубические текстуры.

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

Система освещения Total Illumination, задействованная в демке, появится в публичной версии CryEngine до конца года. Со временем Crytek ускорит работу трассировки лучей, добавив поддержку аппаратного ускорения, реализованного в картах GeForce RTX.

Читать далее