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, которая находится в памяти, станет не соответствующей состоянию сцены и вам нужно стереть ее из памяти и начать ее просчет сначала.

Hosted by uCoz