Глобальное освещение (Global Illumination, GI) - это метод расчёта освещения в трёхмерной графике, который учитывает не только прямой свет от источников освещения, но и непрямое освещение, возникающее в результате многократных отражений света от поверхностей сцены. Именно благодаря глобальному освещению компьютерная графика приобретает естественный вид, а изображения становятся максимально похожими на фотографии.
Изображение, просчитанное с использованием глобального освещения
Почему прямого освещения недостаточно
В реальном мире свет распространяется гораздо сложнее, чем может показаться на первый взгляд. Луч света не заканчивает свой путь после первого столкновения с поверхностью.
Представьте солнечный луч, который попадает в комнату через окно. Сначала он освещает пол. Затем часть света отражается от пола и попадает на стены, потолок и мебель. После этого свет снова отражается от этих поверхностей и продолжает распространяться по помещению. Каждый новый отскок становится слабее предыдущего, но продолжает влиять на освещение сцены.
Именно этот процесс многократных отражений и называется глобальным освещением.
Если учитывать только прямой свет от источника, изображение получится слишком контрастным: тени будут почти чёрными, а многие участки сцены останутся недостаточно освещёнными.
Изображение, просчитанное без глобального освещения
Как работает глобальное освещение
Упрощённо процесс можно представить следующим образом:
- Источник света испускает свет.
- Свет попадает на поверхность объекта.
- Часть световой энергии поглощается материалом.
- Остальная энергия отражается в окружающее пространство.
- Отражённый свет освещает другие поверхности.
- Процесс повторяется множество раз, постепенно теряя энергию.
Современные рендер-движки рассчитывают большое количество таких последовательных отражений. Расчёт продолжается до тех пор, пока вклад очередного отражения становится настолько мал, что практически не влияет на итоговое изображение.
Прямое и непрямое освещение
Чтобы лучше понять принцип работы GI, важно различать два типа освещения.
Прямое освещение
Это свет, который попадает на объект непосредственно от источника света: свет от солнца, лампы, свечи и так далее.
Именно прямое освещение создаёт основные светлые участки и формирует направление теней.
Direct light - прямое освещение
Непрямое освещение
Непрямое освещение возникает после того, как свет хотя бы один раз отразился от поверхности.
Именно оно отвечает за:
- заполнение теней отражённым светом
- естественную яркость помещения
- цветовые переотражения
- реалистичность изображения
Фактически глобальное освещение представляет собой расчёт именно непрямого освещения. После этого его результат объединяется с прямым освещением, формируя финальное изображение.
Indirect light - непрямое (отраженное) освещение
Какие эффекты создаёт глобальное освещение
Цветовые переотражения (Рефлексы)
Каждая поверхность отражает свет вместе со своим цветом.
Например, если рядом с белой стеной находится красный диван, на стене может появиться едва заметный красноватый оттенок. Аналогично деревянный пол способен добавить тёплый оттенок нижней части мебели, а зелёное растение - слегка окрасить ближайшие поверхности.
Этот эффект называется цветовым переотражением и является одним из наиболее заметных признаков корректно рассчитанного глобального освещения.
Пример окрашивания поверхности. Также называется цветовым рефлексом.
Осветление теней
В реальном мире тени редко бывают абсолютно чёрными. Даже если прямой свет туда не попадает, их подсвечивает отражённый свет от окружающих поверхностей.
Благодаря глобальному освещению тени становятся менее контрастными и выглядят значительно естественнее.
Естественное освещение интерьера
В интерьерной визуализации большая часть света формируется именно благодаря отражениям от пола, стен и потолка.
Чем больше светлых поверхностей находится в помещении, тем сильнее они переотражают свет и тем более равномерным становится освещение.
Почему GI особенно важно в интерьерной визуализации
При создании интерьеров непрямое освещение играет гораздо большую роль, чем может показаться.
Например, солнечный свет, попавший через окно, редко освещает всю комнату напрямую. Большая часть помещения получает свет именно благодаря отражениям от пола, стен, потолка и мебели.
Именно поэтому без глобального освещения интерьер выглядит неестественно: дальние углы становятся слишком тёмными, а помещение теряет ощущение объёма.
Как материалы влияют на глобальное освещение
Количество отражённого света зависит от материала поверхности.
Светлые материалы отражают большую часть световой энергии, поэтому помещение кажется более ярким.
Тёмные материалы, наоборот, поглощают больше света. Из-за этого отражённого освещения становится меньше, а интерьер выглядит более контрастным.
По этой же причине полностью белые интерьеры часто рендерятся дольше. Свет многократно отражается между поверхностями, и рендеру требуется больше вычислений, чтобы корректно рассчитать все переотражения. Но здесь стоит сделать важную ремарку - утверждение справедливо только для метода Path Tracing. Кеширующие солверы могут потребовать больше сэмплов именно для темных сцен.
Поэтому важно знать устройство рендер-движка и подбирать его оптимальные параметры под текущую задачу.
Поэтому важно знать устройство рендер-движка и подбирать его оптимальные параметры под текущую задачу.
Chaos Corona | Albedo: 0.8 | Path Tracing + Path Tracing | Noise 8% | Total passes: 11 | Total time: 12:54
Chaos Corona | Albedo: 0.04 | Path Tracing + Path Tracing | Noise 8% | Total passes: 32 | Total time: 04:00
Глобальное освещение в современных рендерах
Практически все современные рендер-движки используют расчёт глобального освещения.
Наиболее распространённые из них:
- Corona
- V-Ray
- Arnold
- Redshift
- Cycles
Хотя внутренние алгоритмы отличаются, цель у всех одна — максимально точно смоделировать распространение света в сцене.
Основные методы расчёта глобального освещения
За время развития компьютерной графики было разработано достаточно много алгоритмов расчёта GI. Некоторые из них:
Path Tracing
Сегодня это основной метод, используемый большинством современных фотореалистичных рендеров.
Алгоритм моделирует путь большого количества световых лучей, рассчитывая их взаимодействие с материалами и поверхностями сцены.
Преимущества метода:
- физически корректное распространение света
- реалистичные отражения
- точные цветовые переотражения
- высокая универсальность
Основным недостатком является высокая вычислительная сложность, однако современные процессоры и видеокарты позволяют эффективно использовать этот метод даже в сложных сценах.
Photon Mapping
Этот алгоритм был особенно популярен в начале развития фотореалистичного рендеринга.
Сначала рендер испускает фотоны от источников света, а затем использует информацию об их столкновениях с поверхностями для расчёта непрямого освещения.
Сегодня Photon Mapping применяется значительно реже и уступил место более универсальным методам, таким как Path Tracing.
Irradiance Cache
Ещё один классический алгоритм, предназначенный для ускорения расчёта глобального освещения.
Вместо вычисления освещения в каждой точке сцены он сохраняет результаты промежуточных вычислений и повторно использует их в соседних областях.
Этот метод широко применялся в предыдущих поколениях рендеров, однако постепенно уступает место более физически корректным алгоритмам.
Как рассчитывается GI в Corona
Одной из особенностей Corona является высокая степень автоматизации расчёта глобального освещения.
Основным алгоритмом расчёта GI является Path Tracing, который обеспечивает физически корректное моделирование распространения света.
При необходимости, например при визуализации интерьеров или анимации, в качестве вторичного солвера глобального освещения может использоваться UHD Cache или 4K Cache. Эти методы позволяют ускорить расчёт без заметной потери качества в подходящих сценариях.
Благодаря такому подходу пользователю редко приходится вручную настраивать сложные параметры глобального освещения - в большинстве случаев достаточно правильно настроить материалы, освещение и камеру.
Что произойдёт, если отключить GI
Если сцена рассчитывается только с использованием прямого освещения:
- тени становятся слишком тёмными
- исчезают цветовые переотражения
- помещение выглядит менее объёмным
- освещение становится резким и неестественным
- изображение теряет фотореалистичность
Именно поэтому глобальное освещение является одним из ключевых компонентов современного рендеринга.
Заключение
Глобальное освещение - это технология, позволяющая приближённо моделировать физическое распространение света в виртуальной сцене. Вместо расчёта только прямого освещения рендер учитывает многократные отражения света между поверхностями, благодаря чему появляются мягко подсвеченные тени, цветовые переотражения и естественное распределение света.
Для визуализатора понимание принципов работы Global Illumination важно не только с теоретической точки зрения. Оно помогает объяснить, почему белые помещения иногда рендерятся дольше, а иногда - быстрее, как материалы влияют на освещение сцены и почему правильная настройка света зачастую важнее увеличения количества источников освещения.
Освоив принципы работы глобального освещения, вы сможете лучше понимать поведение света в сцене, быстрее находить причины проблем с освещением и получать более реалистичные результаты в любом современном рендер-движке.