Как работает svogi для освещения в реальном времени

Опубликовано 28.01.2026 | Перевод с испанского
Диаграмма, показывающая 3D-сцену, преобразованную в иерархическую структуру октодерева разреженных вокселей, иллюстрирующая, как хранятся данные поверхности для расчета освещения.

Как работает svogi для освещения в реальном времени

Техника, известная как SVOGI (Sparse Voxel Octree Global Illumination), представляет собой прорыв в симуляции взаимодействия света в 3D-окружении динамическим образом. 🚀 Ее основная цель — обработка глобального освещения во время рендеринга сцены, без необходимости предварительного расчета всей световой информации.

Основа: вокселизация сцены в иерархическую структуру

Ядро SVOGI заключается в преобразовании сложной геометрии сцены в управляемую объемную сетку. Для этого строится октодерево разреженных вокселей. Октодерево — это структура данных, где каждый узел или ячейка может быть разделена на восемь дочерних ячеек, эффективно организуя 3D-пространство. Ключ в том, что оно разреженное (sparse), что означает, что узлы генерируются только в зонах, где действительно есть геометрия, экономя большое количество памяти и вычислительной мощности.

Ключевые характеристики октодерева в SVOGI:
  • Хранит данные по вокселям: Каждая ячейка или воксель сохраняет существенную информацию о представляемой поверхности, такую как ее нормальный вектор и цвет альбедо.
  • Перестраивается динамически: Движок может обновлять это дерево каждый кадр или через регулярные интервалы, что позволяет отражать движущиеся объекты или изменения в освещении.
  • Дискретизирует пространство: Преобразует непрерывную сцену в иерархию кубов, что облегчает последующие расчеты света.
Магия SVOGI не в самой геометрии, а в том, как она организует пространство, чтобы свет мог отслеживаться умно и быстро.

Расчет света: от вокселизации к освещению

Как только сцена представлена в виде поля вокселей, система может выполнять алгоритмы для симуляции физического поведения света. Наиболее распространенный метод — cone tracing (трассировка конусов). Этот алгоритм запускает виртуальные конусы через октодерево для оценки двух основных явлений: окклюзии окружающей среды и косвенной освещенности.

Процессы, выполняемые трассировкой конусов:
  • Оценка окклюзии: Определяет, сколько окружающего света достигает точки, создавая мягкие тени и более реалистичные контакты.
  • Расчет косвенной освещенности: Симулирует, как свет, отраженный от окрашенной поверхности, влияет на цвет соседних поверхностей, генерируя color bleeding или просачивание цвета.
  • Зависит от разрешения: Точность этих эффектов напрямую связана с разрешением октодерева и глубиной трассировки конусов.

Баланс между точностью и производительностью

Хотя SVOGI обещает точное глобальное освещение в реальном времени, ее реализация имеет значительную вычислительную стоимость. Процесс вокселизации и трассировка конусов потребляют много ресурсов GPU. По этой причине некоторые разработчики предпочитают более традиционные и менее требовательные техники, такие как предварительно рассчитанные lightmaps, особенно в проектах, где приоритет — поддержание высокой частоты кадров без перегрузки графического оборудования. ⚖️ Выбор всегда зависит от нахождения правильного баланса между визуальным качеством и производительностью в конечном приложении.