Обзор темы Indirect Illumination .
Методы непрямого освещения.
V-Ray предоставляет несколько методов для вычисления непрямого освещения с различными компромиссами между качеством и скоростью:
Brute Force
Это наиболее простой подход; непрямое освещение рассчитывается независимо для каждой точки поверхности, прослеживая количество лучей в разных направлениях по полусфере над этой точкой.
Преимущества:
Этот подход сохраняет все детали (мелкие и резкие тени) в непрямом освещении;
Нет такого недостатка, как мерцание в анимации;
Не требуется дополнительная память;
Непрямое освещение в случае размытых движущихся объектов правильно вычислено.
Расчеты GI могут быть распределены на нескольких компьютерах с использованием Distributed Rendering (DR)
Недостатки:
Метод очень медленный для сложных изображений (например, для интерьерного освещения);
Склонен создавать шум изображений, которых можно избежать только при съемке большего количества лучей, тем самым замедляя его еще больше.
Irradiance Map.
Этот метод строится на кэшировании освещенности; основная идея заключается в том, чтобы вычислить непрямое освещение только в некоторых точках сцены, и интерполировать на остальные точки.
Преимущества:
irradiance map очень быстрый по сравнению с прямым вычислением, особенно для сцен с большими плоскими областями;
Шум, присущий прямому вычислению, значительно снижен.
irradiance map также может быть использована для ускорения прямого диффузного освещения от площадных источников света.
Расчеты GI могут быть распределены на нескольких компьютерах с использованием Distributed Rendering (DR)
Недостатки:
Некоторые детали в непрямом освещении могут быть утеряны или размыты из-за интерполяции;
Если используются низкие значения настроек, может возникнуть мерцание при визуализации анимации;
irradiance map требует дополнительной памяти;
Непрямое освещения с размытыми движущимися объектами не совсем корректное и может приводить к шуму (хотя в большинстве случаев это не заметно).
Photon Map.
Этот метод основан на прослеживании частиц (фотонов) от источников света и их отражений на поверхностях всей сцены. Это нужно для интерьера или полу-интерьерьерных сцен с большим количеством света или маленькими окнами. Photon Map обычно не дает достаточно хороших результатов, чтобы использоваться напрямую; однако, он может быть использован как приблизительное освещение сцены для ускорения расчета GI путем прямого расчета или irradiance map.
Преимущества:
Фотонная карта может производить грубое приближение освещения сцены очень быстро;
Photon Map можно сохранить и использовать повторно для ускорения расчетов разных видов одной и той же сцены и прогнать анимацию;
Photon Map независима от просмотра.
Недостатки:
Photon Map обычно не подходит для прямой визуализации;
Требует дополнительной памяти;
В V-Ray осуществление подсветки с участием движения размытых движущихся объектов не совсем корректно (хотя это не проблема в большинстве случаев).
Photon Map нуждается в фактическом источнике света для работы; она не может быть использована для создания непрямого освещения, обусловленного светом окружающей среды (skylight).
Расчеты GI не могут быть распределены на нескольких компьютерах с использованием Distributed Rendering (DR)
Light Cache
Light Cache – это техника для приближения глобального освещения в сцене. Она очень похожа на photon mapping, но без многих ее недостатков. Light map строится путем отслеживания различных вариантов вида от камеры. Каждый этот вариант сохраняет освещение отдельно от остальных в 3D-структуре, в этом схожесть с photon map. Light map -это универсальное решение GI, которые могут использоваться для интерьерных, так и экстерьерных сцен, либо напрямую, либо в качестве вторичного приближения, когда irradiance map или метод brute force GI.
Преимущества:
light cache прост в настройке. У нас есть только камера для трассировки лучей, но в отличии от photon map, должна может обработать каждый источник света в сцене и обычно требует отдельной установки для каждого источника света.
Метод light cache эффективно работает с любым объектом освещения, включая skylight, самостоятельно светящихся объектов, нефизического света, фотометрических источников света и др. Для сравнения, photon map ограничена в световых эффектах, которые она может воспроизвести - например, photon map не может воспроизвести освещение от skylight или от стандартного omni lights без inverse-square спадов.
light cache выдает корректные результаты в углах и вокруг маленьких объектов. С другой стороны, photon map полагается на хитрые схемы оценки плотности, которые часто приводят к неправильным результатам, выдавая в этих случаях либо потемнение, либо осветление этих областей.
Во многих случаях light cache может быть визуализирован напрямую для очень быстрого и гладкого предварительного просмотра освещения в сцене.
Недостатки:
Как irradiance map, light cache зависимые от вида и генерируется с определенного положения камеры. Тем не менее, он генерирует приближение косвенно для видимой части сцены, например, один light cache может полностью уровнять GI в закрытой комнате;
В настоящее время light cache работает только с V-Ray материалами;
Как photon map, light cache не адаптивный. Излучения вычисляются при фиксированном разрешении, которое определяется пользователем;
light cache не очень хорошо работает с bump maps; используйте irradiance map или brute force GI, если вы хотите достичь лучших результатов с bump maps.
Освещение с участием движения размытых движущихся объектов не совсем корректное, но очень гладкое, так как light cache размывает GI во времени (в отличие от irradiance map, где каждый образец рассчитывается на определенный момент времени).
Расчеты GI не могут быть распределены на нескольких компьютерах с использованием Distributed Rendering (DR)
Какой способ выбрать? Это зависит от поставленной задачи. Приведенные ниже примеры могут помочь вам в выборе подходящего метода для вашей сцены.
Первичное и вторичное отражение.
Параметры настройки непрямого освещения в V-Ray делятся на два больших раздела: настройка первичных диффузных отскоков и настройка вторичных диффузных отскоков. Первичный диффузный отскок происходит тогда, когда точка шейдинга прямо видна камерой или через зеркальное отражение, или отражающие поверхности. Вторичный отскок происходит, когда точка шейдинга используется в расчетах GI (глобальное освещение).
Пример: сравнение различных методов ГИ
Здесь представлена сцена с различными алгоритмами GI в V-Ray. Комбинирование различных движков GI придает большую гибкость в балансировке времени и качества конечного изображения.
Brute force GI, 4 отскока. Изображение темнее, потому что вычисляются только 4 отскока света. Обратите внимание на зернистость и длительное время рендера.
Время рендеринга: 25м 3.9 с
Irradiance map + brute force GI, 4 отскока.
Изображение темнее, потому что вычисляются только 4 отскока света. Зернистость пропала, хотя GI немного размыто. (см. каустики GI под стеклянной сферой).
Время рендеринга: 5 м 56.8 сек
Только Light cache.
Очень быстро, но тени размыты. (Сохранение прямого света для сопоставления).
Время рендеринга: 0м 20.2 сек.
Light cache и direct lighting
(Store direct light выключен).
Время рендеринга: 0м 34.8с
Brute force GI + light cache.
Есть некоторая зернистость в GI, но намного быстрее, чем только brute force GI.
Время рендеринга: 36.0 5м с
Irradiance map + light cache;
Скорее всего, лучшее соотношение качество/скорость.
Время рендеринга: 1м 39с
Только Photon map
Обратите внимания на каустики от стеклянной сферы, а также темные углы.
Время рендеринга: 0м 46.2 с
Photon map и прямое освещение
Время рендеринга: 1м 2,1 с
Только Photon map с предварительным вычислением излучения.
Пятнистый, но быстрее, чем быстрый photon map.
Время рендеринга: 0м 38.5 с
Irradiance map + photon map.
Обратите внимания на темные углы и неправильные тени на буквах.
Время рендеринга: 3 м 23.5 с
Irradiance map + photon map с восстановлением углов.
Углы лучше, хотя все еще немного темно.
Время рендеринга: 7м 49.2 с
Irradiance map + photon map с предварительным вычислением излучения, с восстановлением углов.
Время рендеринга: 5 м 21.0 с
Irradiance map + light cache с включенными GI каустиками.
Обратите внимание на замедление из-за каустики.
Время рендеринга: 2 м 17.6 с.
Light cache в режиме трассировки Progressive с каустиками photon-map.
Время рендера довольно высокое.
Время рендеринга: 1ч 44м 15.4 с.
Параметры.
Enable GI – включение и выключение непрямого освещения.
Primary engine – выпадающий список, в котором можно выбрать метод, используемый для первичных диффузных отскоков.
Irradiance map – этот параметр указывает V-Ray использовать irradiance map для первичных диффузных отскоков.
Global photon map – выбор этого параметра укажет V-Ray использовать photon map для первичных диффузных отскоков. Этот режим полезен при настройке параметров глобальной photon map. Обычно он не приводит к достаточно хорошим результатам для окончательной визуализации при использовании в качестве первичного движка GI.
Brute force – выбор этого метода укажет V-Ray использовать прямые вычисления для первичных диффузных отскоков.
Light cache –выбирает light cache в качестве первичного движка GI.
Multiplier – это значение определяет, сколько первичных диффузных отскоков влияют на итоговую освещенность изображения. Обратите внимание, что значение по умолчанию 1.0 производит физически точное изображение. Другие значения допустимы, но физически не корректны.
Secondary diffuse bounces method – этот параметр определяет, как V-Ray будет рассчитывать вторичные диффузные отскоки.
None - без использования лучей вторичного отскока в освещении сцены. Используйте эту опцию для сцен с солнечным освещением без indirect color bleeding.
Global photon map – выбор этого параметра укажет V-Ray использовать photon map для первичных диффузных отскоков. Этот режим полезен при настройке параметров global photon map. Обычно он не приводит к достаточно хорошим результатам для окончательной визуализации при использовании в качестве первичного движка GI.
Brute force – выбор этого метода укажет V-Ray использовать прямые вычисления для первичных диффузных отскоков.
Light cache –выбирает light cache в качестве первичного движка GI.
Multiplier – это определяет эффект вторичных диффузных отскоков на освещенность сцены. Значение около 1.0 могут приводить к пересвету, в то время как значение около 0.0 может сделать сцену излишне темной.
Пример Light Bounces.
В этом примере показано влияние количества light bounces на изображение:
Только прямое освещение: GI выключен.
1 отскок: irradiance map, без вторичного движка GI.
2 отскока: irradiance map + brute force GI с 1 вторичным отскоком.
4 отскока: irradiance map + brute force GI с 3 вторичными отскоками.
8 отскоков: irradiance map + brute force GI с 7 вторичными отскоками.
Неограниченное количество отскоков (complete diffuse lighting solution): irradiance map + light cache.
GI Caustics
GI caustics представляют собой свет, который прошел через один диффуз, и один или несколько зеркальных отражений (или преломлений). GI caustics могут быть сгенерированы skylight, или быть объектоами self-illuminated. Однако, каустика от direct lights не может быть просчитана этим способом. Вы должны использовать отдельную секцию Caustics для настройки каустики от direct light. Имейте в виду, что GI caustics обычно сложно просчитывается и может вызывать появление шума при малом количестве сэмплов.
Refractive GI caustics - позволяет непрямому освещению, проходящему через прозрачные объекты (стекло), создавать световые эффекты. Обратите внимание на разницу между GI caustics и Caustics, последняя представляет собой прямой свет от источников, прошедший через прозрачный объект. Refractive GI caustics нужна для получения эффектов каустики от skylight прошедшему, например, через окно.
Reflective GI caustics – делает просчет непрямого освещения отраженного от зеркального объекта. Это не то же самое, что и Caustics, которая представляет прямой свет от источника отраженный от зеркальной поверхности. По умолчанию эта опция отключена т.к. обычно вносит очень слабый эффект, но создает нежелательный шум.
Пример: GI Caustics.
Этот пример показывает GI caustics, сгенерированные self-illuminated object:
Пост-Обработка.
Эти настройки дают возможность дополнительно корректировки indirect illumination, прежде чем выполнять финальный рендер. Значения по умолчанию соответствуют физически корректному результату; но пользователь может изменить их в целях достижения художественного эффекта.
Saturation - изменяет насыщенностью цветов: 0.0 - означает, что все цвета будут удалены из результата. Значение 1.0 - по умолчанию означает, что насыщенность GI просчета останется неизмененной. Значения выше 1.0 - усиливают насыщенность цвета.
Contrast - параметр работает совместно с Contrast base для усиления контраста GI просчета. Когда Contrast установлен в 0.0, GI solution принимает контраст, определенный параметром Contrast base. Значение 1.0 Contrast оставляет контраст неизмененным. Величина больше 1.0 усиливает контраст.
Contrast base - этот параметр определяет основание для параметра Contrast. Определяет значения GI, которые остаются неизменными в течение расчета контраста.
Ambient Occlusion.
Эти органы управления позволяют добавлять ambient occlusion к global illumination solution.
Amb. occlusion – флажок включает или отключает ambient occlusion. Значение 0.0 не даст эффекта ambient occlusion, в то время как более высокие значения делают эффект ambient occlusion более заметным.
Radius – радиус ambient occlusion
Subdivs – определяет количество сэмплов для вычисления ambient occlusion. Более низкие значения будут рендерится быстрее, но могут вызывать шумы.
Пример: Ambient Occlusion.
Этот пример демонстрирует опции эффекта глобального ambient occlusion.
Первое изображение рендерится с Light cache для первичных и вторичных отскоков, Fixed Filter type для light cache, и выключенным Store direct light.
Второе изображение визуализируется с теми же настройками light cache, но с включенной global ambient occlusion.
Третья картинка рендерится без ambient occlusion, но Brute force движком GI для первичных отскоков, Light cache для вторичного движка с Nearest Filter type. Время рендеринга включает в себя время для расчета light cache. Обратите внимание, ambient occlusion может создать ощущение более детализованного изображения, даже если результат не совсем корректный.
Примечание:
В V-Ray нет отдельной системы skylight. Эффект skylight может быть достигнут путем установки фонового цвета или environment map 3ds Max в далоговом окне environment, или в собственном свитке Environment в V-Ray.
Вы получите физически точное освещение при установке первичного и вторичного GI multipliers в их значении по умолчанию 1.0. В то же время другие значения возможны, они не будут производить физически корректный результат.
Источник: http://docs.chaosgroup.com/display/VRAY3MAX/Indirect+Illumination#IndirectIllumination-Example:LightBounces.1