Открыть сервис

Динамическое глобальное освещение

Динамическое глобальное освещение (англ. Dynamic Global Illumination, DGI) — это совокупность методов компьютерной графики, предназначенных для расчёта и визуализации непрямого (отражённого и рассеянного) света в реальном времени или с минимальной задержкой. В отличие от статического глобального освещения (запечённого, precomputed), DGI позволяет освещению изменяться в ответ на перемещение источников света, объектов или изменение условий окружающей среды, что критически важно для интерактивных приложений, таких как видеоигры, симуляторы и системы виртуальной реальности.

История развития

Ранние подходы (1970-е — 1990-е)

Первые алгоритмы глобального освещения, такие как трассировка путей (Path Tracing, 1980-е) и метод излучательности (Radiosity, 1984), были разработаны для фотореалистичного рендеринга неподвижных изображений и анимации. Они требовали значительных вычислительных ресурсов и не могли работать в реальном времени. В 1990-е годы для игр использовались упрощённые модели (например, освещение по Фонгу), а непрямой свет имитировался с помощью заранее рассчитанных карт освещения (lightmaps) и карт теней.

Появление динамических решений (2000-е)

С развитием программируемых шейдеров и графических процессоров (GPU) в середине 2000-х годов стали возможны первые попытки динамического расчёта непрямого освещения. В 2005 году компания Crytek представила технологию Light Propagation Volumes (LPV) в движке CryEngine, которая позволяла моделировать рассеянный свет в реальном времени. В 2008 году NVIDIA предложила метод Voxel Cone Tracing, основанный на вокселизации сцены.

Современные методы (2010-е — настоящее время)

В 2010-х годах индустрия перешла к гибридным решениям, сочетающим запечённые данные с динамическими вычислениями. В 2014 году компания Epic Games внедрила в Unreal Engine 4 технологию Distance Field Ambient Occlusion (DFAO) и Reflection Environment. В 2018 году был представлен Screen Space Global Illumination (SSGI) — метод, работающий только с информацией на экране, но дающий приемлемый результат для многих сцен. В 2020 году NVIDIA выпустила технологию RTX Global Illumination (RTXGI), использующую аппаратное ускорение трассировки лучей на видеокартах серии RTX.

Классификация методов

По способу расчёта

  1. Методы на основе изображения (Image-Based):
  • Screen Space Global Illumination (SSGI) — анализирует глубину и нормали пикселей в кадровом буфере для оценки непрямого освещения. Не требует предварительных вычислений, но ограничен видимой областью сцены.
  • Screen Space Reflections (SSR) — рассчитывает отражения, используя уже отрендеренные данные.
  1. Методы на основе геометрии (Geometry-Based):
  • Voxel Cone Tracing (VCT) — преобразует сцену в воксельное представление (трёхмерную сетку) и трассирует конусы от каждой точки для сбора освещения. Позволяет учитывать скрытые объекты, но требует значительной памяти.
  • Light Propagation Volumes (LPV) — моделирует распространение света через иерархическую сетку объёмов, обновляя её каждый кадр.
  1. Методы на основе трассировки лучей (Ray Tracing-Based):
  • Path Tracing в реальном времени — использует аппаратное ускорение трассировки лучей (например, RT-ядра в GPU NVIDIA) для расчёта нескольких отражений и преломлений. Требует мощного оборудования.
  • RTX Global Illumination (RTXGI) — гибридный метод, сочетающий трассировку лучей с пространственно-временной фильтрацией для снижения шума.

По степени динамичности

  • Статическое — освещение не меняется (запечённые карты).
  • Динамическое — освещение пересчитывается каждый кадр или при изменении сцены.
  • Гибридное — часть освещения (например, непрямой свет от статичных объектов) запечена, а динамическая часть (движущиеся источники света) рассчитывается в реальном времени.

Устройство и принцип работы

Основные компоненты

  1. Источники света — могут быть точечными, направленными, площадными или объёмными. В DGI их положение, интенсивность и цвет могут изменяться динамически.
  2. Геометрия сцены — объекты, которые отражают и рассеивают свет. Для динамических методов геометрия должна быть доступна для анализа (например, в виде воксельной сетки или буфера глубины).
  3. Алгоритм распространения — определяет, как свет распространяется после первого отражения. Включает расчёт отражённого (specular) и рассеянного (diffuse) компонентов.
  4. Фильтрация и сглаживание — для устранения шума (noise) и артефактов, возникающих из-за ограниченного числа выборок (samples) в реальном времени.

Этапы расчёта (на примере VCT)

  1. Вокселизация — сцена разбивается на трёхмерные ячейки (воксели), в которые записываются цвет и плотность.
  2. Инжекция света — в воксели, освещённые прямым светом, записывается энергия.
  3. Распространение — свет распространяется по воксельной сетке с учётом отражений и поглощения.
  4. Трассировка конусов — для каждой точки сцены из камеры трассируется несколько конусов, которые собирают свет из вокселей.
  5. Композитинг — полученный непрямой свет смешивается с прямым освещением и другими эффектами.

Применение

Видеоигры

  • Реалистичное освещение — в играх с открытым миром (например, Cyberpunk 2077, Minecraft с шейдерами) DGI позволяет создавать естественные переходы света и тени при смене времени суток.
  • Динамические погодные условия — изменение освещения при дожде, тумане или снеге.
  • Интерактивные объекты — перемещение факелов, ламп или персонажей, которые становятся источниками света.

Архитектурная визуализация

  • Виртуальные туры — возможность в реальном времени менять расположение светильников и материалов, наблюдая изменения освещения.
  • Дизайн интерьеров — оценка естественного освещения в зависимости от времени дня и года.

Кинематограф и анимация

  • Previsualization — быстрая визуализация сцен с динамическим освещением для планирования съёмок.
  • Интерактивные фильмы — проекты, где зритель может влиять на освещение (например, в VR-опытах).

Симуляторы и обучение

  • Авиационные и автомобильные симуляторы — реалистичное освещение от фар, солнца и отражений от дороги.
  • Медицинские симуляторы — воспроизведение освещения операционных.

Преимущества и ограничения

Преимущества

  • Интерактивность — освещение реагирует на действия пользователя в реальном времени.
  • Реализм — более точное моделирование физических свойств света по сравнению со статическими методами.
  • Гибкость — возможность изменять сцену без пересчёта запечённых данных.

Ограничения

  • Вычислительная сложность — требует мощного GPU (особенно для трассировки лучей) и может снижать частоту кадров.
  • Шум и артефакты — при недостаточном количестве выборок или низком разрешении воксельной сетки появляются «пятна» и мерцание.
  • Ограничения экранных методов — SSGI не учитывает объекты за пределами кадра, что приводит к потере информации.
  • Память — воксельные методы требуют значительного объёма видеопамяти для хранения трёхмерных сеток.

Критика и альтернативы

Критика

  • Энергопотребление — методы DGI, особенно на основе трассировки лучей, значительно увеличивают энергопотребление GPU, что критично для портативных устройств.
  • Сложность настройки — для достижения качественного результата требуется тонкая настройка параметров (разрешение вокселей, количество выборок, радиус распространения).
  • Несовместимость с некоторыми стилями — в стилизованной графике (например, cel-shading) избыточная реалистичность DGI может нарушать художественный замысел.

Альтернативы

  • Precomputed Radiance Transfer (PRT)статический метод, позволяющий динамически менять освещение на предварительно рассчитанных данных.
  • Ambient Occlusion — упрощённая модель затенения, не учитывающая цветной непрямой свет.
  • Light Probes — статические зонды, которые могут быть обновлены с низкой частотой (например, каждый 10-й кадр).

Интересные факты

  • Первая игра, использующая динамическое глобальное освещение в реальном времени, — Crysis (2007) с технологией LPV.
  • В 2020 году компания NVIDIA представила RTXGI SDK, который позволяет разработчикам интегрировать DGI в свои проекты без глубоких знаний трассировки лучей.
  • Метод Voxel Cone Tracing используется в движке Enfusion (игры Arma Reforger, DayZ) для создания реалистичного освещения в больших открытых мирах.
  • В 2023 году компания Epic Games анонсировала Lumen — полностью динамическую систему глобального освещения для Unreal Engine 5, работающую как на основе трассировки лучей, так и на программных методах (Software Ray Tracing).

Источники

  • Akenine-Möller, T., Haines, E., Hoffman, N. (2018). Real-Time Rendering, Fourth Edition. CRC Press.
  • NVIDIA Developer. (2020). RTX Global Illumination (RTXGI). Техническая документация.
  • Epic Games. (2021). Unreal Engine 5 Documentation: Lumen Global Illumination and Reflections.
  • Crytek. (2007). CryEngine 2 Documentation: Light Propagation Volumes.
  • Pharr, M., Jakob, W., Humphreys, G. (2016). Physically Based Rendering: From Theory to Implementation, Third Edition. Morgan Kaufmann.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →