Как стоит использовать Global Illumination?
Хотел начать пост со слов «в последнее время, стало очень много сцен, где неоправданно применяют GI», потом подумал, что это было всегда. Дизайнеры по незнанию, по непониманию, «ребята во дворе показали», включают Global Illumination, выбирают прессеты medium или high и идут спать, пока дорендерится их картинка. С развитием ГПУ и скорости просчета проблема стала менее актуальна, но она есть. Тратится драгоценное время на эффект, который в некоторых ситуациях не приносит никакого результата, или так мало, что можно было бы сэкономить 30-50% времени просчета.
Ситуация 1: Открытая сцена с множеством деталей
Как мы видим, есть глубокие черные тени, это связанно с направлением источника света, банально «лучи» туда не проходят. В таких случаях можно поставить большое количество дополнительных источников света, которые высветлили бы все эти затемнения, а можно включить Глобальное oсвещение (Global illumination или GI).
Глобальное освещение, если очень просто, заставит луч, который идет от источника света отразиться от поверхности и полететь до следующего препятствия. Тем самым мы получаем более светлую картинку, свет попадает в те места, куда при его прямолинейном распространении он не мог «залететь».
Уже при одном отскоке картинка становится намного живее, за счет более мягких теней и отсутствия черных провалов.
Чем больше количество отскоков, тем свет дольше «гуляет» по сцене и попадает в «труднодоступные места».
Вывод: использование одного отскока вполне решает проблему освещения, дальнейшее увеличение не всегда даёт качественного изменения картины, но будет больше требовать ресурсов для просчета, а следовательно время рендера может сильно увеличиться.
Ситуация 2: Светящийся материал*
*не рассматриваю методику mesh light в данном посте
Следующий пример касается светящихся материалов, если стоит задача, чтобы они участвовали в освещении сцены, то необходимо включать глобальное освещение.
Вывод: при задаче, когда у нас есть светящийся объект, который должен влиять на освещение сцены использование Глобального освещения поможет легко решить эту задачу, при том, количество отскоков будет качественно влиять на результат картинки, однако стоит провести тесты перед финальным рендером, не исключено, что разница между 2 и 4 отскоками, про 8 я даже не говорю, будет минимальна, при сильном увеличении времени.
Ситуация 3: Открытая сцена с отражающими объектами
Выше пример сцены, в которой использование Глобального освещения не то, что под вопросом, а самая частая ошибка в настройках. Как мы видим, за счёт отражений у нас уже создается эффект наличия световых рефлексов, все объекты отражаются друг в друге, светящийся элемент окрашивает пол и другие шарики.
Когда мы включаем Глобальное освещение и хотя бы один отскок, то у нас пропадают черные моменты в основании шариков и это положительно влияет на восприятие картинки, меньше совсем черных зон, более мягкое освещение.
Увеличение количества отскоков в таком типе сцен зачастую не то, что не даёт «бонусов», но и очень мало заметно. Ведь по сути свету не от чего отталкиваться больше 1-2 раз, а переотражения и так дают информацию о рефлексах: в зеленом отражается и красный и фиолетовый, в красном и зеленый и фиолетовый, и на полу мы видим влияние цвета выставленных сфер на золотую поверхность.
Вывод: в сценах, где много отражающих поверхностей, использование Глобального освещения зачастую не имеет смысла, разве что с 1-2 отскоками для борьбы с тёмными участками в местах соприкосновения геометрий, и то необходимо оценить, будет ли заметен этот эффект, и на сколько вырастет время просчета.
Общий вывод
Использование Глобального освещения (Global illumination, GI) помогает упростить работу со светом, убрать черные глухие тени, в которых ничего не видно. Современные рендеры стали достаточно быстро считать этот эффект, в том же Октане есть режим Direct Light: GI_DIFFUSE, который добавляет минимальное количество рендера при своём включении.
В посте так же не рассмотрел интерьерную сцену, но смысл продемонстрировать, что количество отскоков, которые иногда выставляют 4-6-8 и объясняют «ну вот будет красиво», не имеет никакого смысла, всё станет красиво и с 1-2 отскоками. Обязательно делайте проверочные рендеры, сравнивайте картинки, перед тем как «сейчас всё поставлю на максимум, ферма смолотит».
По ссылке можете скачать картинки для сравнения.
Комментарии: