Ну а теперь к люменам, динамическому глобальному освещению – самой противоречивой технологии Unreal Engine.
С одной стороны, это очень крутая технология, новое слово в реалистичном рендеринге.
А с другой, многие, даже богатые студии-разработчики игр расслабили булки и всё глобальное освещение сделали через люмены. Вместо того, чтобы запекать освещение везде, где только можно.
Как итог, в глазах многих игроков "игра на Unreal Engine 5" стало синонимом слову "тормозная" (даже если у вас 5090!), даже если графика там не самая передовая. И лишь самые стойкие могут сдержаться и сделать оптимизированную игру на Unreal 5. Разумеется, Fortnite, которая использует и люмены и наниты, максимально оптимизирована и выдаёт >200 FPS на "народной" RTX 4060.
Но давайте посмотрим, что стоит за технологией Lumen.
Lumen использует комбинацию из различных методов трассировки лучей.
Сначала идёт быстрый Screen tracing (при помощи G-буфера) для того, чтобы определить, где луч пересечёт ближайшую поверхность. В некоторых случаях этого достаточно для рендеринга, и на этом всё и заканчивается.
Но иногда (например, луч не нашёл пересечение и вылетел за экран).
И тогда, если доступна и включена в настройках аппаратная трассировка (например, RTX на Nvidia), то используется она. Если нет, то используется либо Mesh Distance Fields (MDF), либо более точный Signed Distance Fields (SDF).
В конце уже идёт использование skymap (он же skybox), если лучи вообще никуда на сцене не попали (значит, попали в небо).
Подробности можно посмотреть тут:
https://advances.realtimerendering.com/s2022/SIGGRAPH2022-Advances-Lumen-Wright%20et%20al.pdf
#graphics
Post #331
640
- 👍 7
- 🔥 5