Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Mental ray 3.3 для 3ds max.docx
Скачиваний:
5
Добавлен:
01.09.2019
Размер:
9.59 Mб
Скачать

Параметры настройки фотонных карт в mental ray для 3ds max, закладка Indirect Illumination

Существует основополагающая формула, используемая для оценки освещения в произвольной точке поверхности по заданному количеству фотонов:

Оценка освещения точки поверхности по заданному количеству фотонов

здесь

  • N – количество участвующих в оценке освещения фотонов;

  • Ei – энергии фотонов;

  • f – BRDF поверхности;

  • r – радиус сбора фотонов;

  • nv, ni – углы между направлениями расчета освещения и падения фотонов.

Из этой формулы следует несколько важных свойств.

Во-первых, результат расчета зависит от свойств поверхности. Во-вторых, расчет освещения является суммой вкладов энергий заданного количества фотонов. В-третьих, величина вклада от конкретного фотона зависит от расстояния между точкой и этим фотоном. Чем дальше расположен фотон, тем меньше его вклад.

Для практики расчета более полезным является правило, связывающее количество собираемых вблизи точки фотонов с плотностью фотонной карты в этой точке и радиусом сбора:

2) N = (плотность фотонной карты в точке x) х pi х r ^2, где

  • N – количество фотонов, собираемых для оценки освещения в точке x;

  • pi – число пи = 3.14;

  • r – радиус сбора фотонов

Под плотностью фотонной карты понимается отношение общего числа фотонов к общей площади поверхностей, для которых они создаются. Плотность реальной фотонной карты имеет локальный характер, то есть, меняется от точки к точке поверхности. Практически важно знать только минимальную плотность фотонной карты, этого достаточно для выполнения необходимых настроек.

Из правила (2) вытекает ряд важных свойств, которые являются основными в практике настроек:

3а) увеличение плотности фотонной карты в n раз (или, что то же самое, увеличение размера фотонной карты в n раз) позволяет собирать в n раз больше фотонов при том же радиусе сбора или уменьшить радиус сбора того же количества фотонов в корень квадратный из n раз;

Пример: Если при данной плотности фотонной карты вблизи точки собирается 100 фотонов в пределах площадки радиусом в 10 см, то увеличение размера фотонной карты в 4 раза позволяет:

  • либо собирать 400 фотонов на той же площадке радиусом в 10 см;

  • либо собирать 100 фотонов с площадки вдвое меньшего радиуса (5 см)

3б) если плотность фотонной карты неизменна, то увеличение/уменьшение радиуса сбора в n раз приводит к увеличению/уменьшению количества собираемых фотонов в n^2 раз. Пример: Если плотность фотонной карты такова, что 100 фотонов собирается с площадки радиусом 10 см, то увеличение радиуса сбора в два раза приведет к увеличению сбора фотонов в ее пределах в 4 раза, то есть в пределах площадки радиусом 20 см будет собрано 400 фотонов, а в пределах радиуса в 5 см – только 25 фотонов.

3в) если требуется увеличить/уменьшить число собираемых фотонов в n раз, то для этого необходимо:

  • либо увеличить/уменьшить плотность фотонной карты в n раз

  • либо увеличить/уменьшить радиус сбора фотонов в корень квадратный из n раз

Для того, чтобы иметь возможность воспользоваться этими правилами, необходимо уметь определять минимальную плотность фотонной карты в конкретных сценах, или фактическое количество фотонов, собираемых с площадки некоторого радиуса.

Исследование свойств фотонной карты опирается на тот факт, что отношение общего числа излученных в сцене фотонов к числу сохраненных в фотонных картах является величиной постоянной при прочих неизменных свойствах сцены – геометрии, освещении и материалах. Такое отношение является уникальной индивидуальной характеристикой сцены и позволяет аппроксимировать результаты небольшой фотонной карты для карт любой плотности для одной и той же сцены.

В качестве примера рассмотрим свойства фотонной карты небольшой плотности для конкретной сцены. Установим в настройках, чтобы фотонная карта содержала 50 тысяч фотонов на источник света (их в сцене два), и будем исследовать при каком радиусе можно собрать 200 фотонов. Я устанавливаю начальное значение радиуса сбора в 1 см (что заведомо меньше, чем необходимо) и буду увеличивать радиус сбора, пока изображение не перестанет меняться. Значение радиуса, при котором изменения перестанут происходить и будет приблизительным фактическим радиусом сбора 200 фотонов. Чтобы не пересчитывать фотонную карту при каждом изменении радиуса, при первом просчете фотонная карта сохраняется в файл. В качестве ориентира можно использовать рендер с большим радиусом сбора:

Рендер с большим радиусом - 4 метра

Теперь устанавливаем маленький радиус и постепенно увеличивая его, находим минимальное значение, при котором рендер перестает меняться (становится идентичен рендеру с большим радиусом).

Начинаем с радиусом в 1 см и постепенно увеличиваем его

Найденное значение радиуса составляет приблизительно 44 см:

При радиусе сбора в 44 см рендер практически перестает меняться и становится идентичен рендеру с радиусом сбора 4 метра

Таким образом, для примера данной сцены, 200 фотонов собираются с площадки фактического радиуса не более 44 см. В тех местах, где плотность фотонов выше, этот радиус будет меньше. Можно дополнительно воспользоваться диагностическим рендером, показывающим карту распределения плотности фотонов в сцене.

Диагностический рендер, показывающий распределение плотности фотонов в сцене

Это так называемая false-color диаграмма, где каждому цвету (температуре) соответствует определенное значение плотности. Красный цвет – самая высокая плотность, синий – самая низкая, зеленый – промежуточная средняя плотность.

Теперь можно воспользоваться правилами (2) и (3а – 3в) для интерполяции фотонных свойств сцены. Например, если нужно чтобы 400 фотонов собиралось для оценки освещения точек трехмерной сцены с площадки радиусом не более 10 см, потребуется фотонная карта в 39 раз большего размера, чем текущая (50 000 фотонов), т.е. фотонная карта в 2 миллиона фотонов.

Рендер с фотонной картой в 2 миллиона фотонов, радиусом сбора 10 см и числом собираемых фотонов = 400

Хотя mental ray и позволяет не указывать в настройках радиус собираемых фотонов, его явное указание имеет целый ряд преимуществ. Во-первых, знание фактического радиуса сбора позволяет ориентироваться в точности вторичного освещения. Чем больше радиус сбора, тем больше размытость вторичных теней. Если радиус сбора фотонов превышает 10 см, тени вряд ли можно считать правильными.

Во-вторых, правильное определение фактического радиуса сбора позволяет сократить время расчета фотонной карты за счет уменьшения радиуса поиска, а значит – времени поиска фотонов в базе данных. Экономия времени для одного рендера (кадра) по абсолютной величине относительно невелика и составляет от нескольких секунд до нескольких минут в зависимости от количества собираемых фотонов и плотности фотонной карты. Тем не менее, при анимации даже такой небольшой выигрыш во времени расчета одного кадра может оказаться существенным. Экономия времени также может быть существенной и при FG расчетах, поскольку в них используется многократное обращение к фотонным картам для оценки освещения.

Явное указание количества собираемых фотонов позволяет программе расчета гибко изменять в сцене радиус сбора фотонов в зависимости от плотности карты в данной точке (при этом максимальный радиус сбора не превысит заданный в настройках), что самым благоприятным образом сказывается на гладкости финального рендера.

Кроме того, вполне возможно связать число собираемых фотонов и плотность фотонной карты с качественными настройками FG, что при наличии некоторого опыта позволит сэкономить массу времени.

Интерфейс настройки фотонных карт в mr 3.3 для 3ds max

В 3ds max 7 настроечные параметры фотонных карт собраны на закладке Indirect Illumination диалогового окна Render:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]