Irradiance map modes: Rendering a static scene from multiple views |
Главная | Tutorials |
Search Keywords: IR, Irradiance map, GI
В этом уроке мы рассмотрим способы эффективного рендера статической сцены, с нескольких точек используя irradiance map.
WМы хотим выполнить эффективный
рендер нескольких видов этой сцены,
используя irradiance map.
Сначала откройте стартовую
сцену.
По умолчанию irradiance map режим
установлен в Single frame. Это
позволяет нам делать рендер с разных
точек, но каждый раз irradiance map будет
рассчитываться с нуля. У нас есть
две камеры в сцене. Сделайте рендер
с каждой из них:
Но мы можем сделать рендер с одной
точки, сохранить irradiance map, и указать
чтобы V-Ray использовал сохраненную
карту, вместо расчета новой в
следующий раз. Так как irradiance map
полученная при предыдущем рендере
все еще в памяти (у нас установлена
опция Don't delete в группе On
render end ) все, что нам нужно
сделать, открыть секцию параметров Advanced
irradiance map и нажать на кнопку Save
to file. Выбрать имя файла,
например "test", и сохранить.
Теперь, когда мы имеем сохраненную
на диск карту irradiance map, нам нужно указать
V-Ray, использовать эту карту.
Измените режим irradiance map в "From file",
нажмите кнопку Browse и выберите файл,
который мы только что сохранили. Сделайте
повторный рендер. Обратите
внимание, что теперь V-Ray не рассчитывает
irradiance map, а переходит
непосредственно к рендеру
изображения.
Так как irradiance map не рассчитывается, рендер происходит намного быстрее. Что будет, если мы сделаем рендер с другой точки теперь? Вот, что получится:
Явно, что такого результата мы не хотели, но почему это получилось? Все дело в том, что irradiance map только частично не зависит от положения камеры - каждый сэмпл в irradiance map пригоден для любой точки съемки, но сэмплы для оптимизации генерируются только те, что необходимы для данного вида. V-Ray не рассчитывает сэмплы для тех частей сцены которые не видны непосредственно для камеры. Если вы включите опцию Show samples в секции Indirect illumination и сделаете рендер, вы сможете увидеть, где реально расположены сэмплы:
Возможно ли, сделать рендер этого
вида, используя старые сэмплы, и
добавить новые только там где это
необходимо? Ответ, "ДА". Просто
измените режим использования irradiance
map в Incremental add to current map. Для
случая, когда текущая irradiance map все
еще находится в памяти. Сделаем
рендер:
V-Ray добавил новые сэмплы в irradiance map. Ниже дано сравнение старой карты (зеленые сэмплы) и новой карты (красные сэмплы):
Теперь, давайте посмотрим, как выглядит рендер этой сцены с этой картой. Сохраните irradiance map в тот же файл, установите режим в From file, отключите Show samples и сделайте рендер:
Конечно, не обязательно выполнять всю процедуру сохранения/загрузки, каждый раз. Установите режим опять в Incremental add to current map. Измените вид в текущем окне на перспективу и сделайте несколько рендеров с разных точек - просто изменяйте вид и делайте рендер. Сделайте это несколько раз. Ниже приведены виды, которые я рендерил:
После того как вы сделаете рендер
нескольких видов, сохраните irradiance
map в файл, нажав на кнопку Save to
file. Сохраните ее в тот же файл
что и раньше. Нам он понадобиться
чуть позднее.
Для сравнения, здесь приведены
несколько последних изображений,
перерендеренных в режиме irradiance map
установленном в Single frame (в
котором полностью новая irradiance map
была рассчитана):
Обратите внимание на
увеличенное время рендера -
перерасчет новой карты занимает
больше времени, чем использование
уже существующей в памяти в
качестве основы.
Давайте вернемся назад к
сохраненной irradiance map. Теперь она
содержит информацию для большей части
сцены. Мы можем использовать ее для
рендера с других точек без
добавления новых сэмплов. Установите
режим в From file. Выберите вид
приблизительно такой, как вы
использовали раньше и сделайте
рендер:
Заметьте, что для этого
рендера не производилось расчета
irradiance map! Мы использовали irradiance map,
которая была рассчитана раньше. Это
возможно потому, что irradiance map уже
содержит достаточно информации для
рендера с этой точки, хотя мы не
делали для нее рендера ранее.
Если irradiance map не содержит
достаточно информации, мы получим
артефакты как раньше, и должны
будем использовать Incremental add to
current map режим для дополнения
недостающей информации.
Как завершение, здесь приводится
порядок действий, который может
быть использован для рендера одной
сцены с нескольких точек:
Помните, что если вы делаете какие либо изменения в сцене (добавляете, изменяете материалы или источники света) irradiance map, которая находится в памяти, станет не соответствующей состоянию сцены и вам нужно стереть ее из памяти и начать ее просчет сначала.