.:3DCenter.ru:. Библиотека .::. vRay :: Photon mapping
HomeСатьиУрокиRARВакансииBlueprintsГалереяРекламодателямFAQФорум
Уроки
 

Уроки - 3ds max
3ds max6 help
DreamScape
Brazil
»vRay
finalRender
Mental Ray
Статьи
Maxscript
Maya
CAT
ZBrush
XFrog
BodyPaint3D
3dcenter.mag (журнал)
Lightwave3D
Интервью
RealFlow
Видео уроки
Горячая Десятка
Уроки - PhotoShop

 
 
Поиск
 

 
 
Информация
  Если Вы написали интересный урок (или перевели зарубежный, которого нет у нас) пришлите его по этому адресу и мы его опубликуем.  
 
Календарь
 
< Окт 2017 >
Пн Вт Ср Чт Пт Сб Вс
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          
 
 

 
    Home » vRay
 Опубликовано: 01.01.2004 - 16:18, Автор: Chaos Group Версия для печати

Photon mapping

В этом уроке мы исследуем Photon mapping в VRay и эффективные способы его использования.

Что такое Photon mapping?

PM - техника, для просчета глобального освещения. Однако, в отличии от irradiance map (IM), который осуществляет отслеживание лучей от камеры, PM отслеживает лучи от источников света в сцене. Оба метода эксклюзивны, и действительно для получения лучших результатов PM и IM желательно использовать вместе.
РМ имеет множество параметров, которые дают получить интересные результаты, но мы здесь не будем обсуждать все возможности, а установим настройки, которые являются надежными и работают корректно в большинстве случаев.

Начальные установки.

Для всех экспериментов, мы начнем со следующих установок для РМ (обратите внимание, что они могут отличаться от установленных по умолчанию):

Convert to irradiance map - off
Auto search distance - off
Max photons - 0
Convex hull area estimate - off
Store direct light - on
Retrace threshold - 0


Единственные параметры, которые мы фактически будем использовать.

Max density (максимальная плотность) - этот параметр определяет разрешение (пространственная деталь) для РМ. Световая информация от РМ содержит множество точек на поверхностях объектов в сцене. Этот параметр определяет расстояние (в мировых единицах) между этими точками. Меньшие значение подразумевает, что точки будут ближе друг к другу и их будет больше. Большее значение подразумевает, что точки будут дальше друг от друга и их общее количество будет меньше. Очевидно, что этот параметр зависит от масштаба вашей сцены.
Изменение этого параметра требует пересчет РМ, так он изменятся только после просчета с новыми значениями.


Search distance (зона поиска) - этот параметр определяет, как освещение будет восстановлено от поверхностных точек, описанных выше. Это что то на подобии размывания РМ. Он должен быть больше чем Max density, но точность значения зависит от того, на сколько вы хотите размыть РМ. Значений 2-5 достаточно для получения хорошего результата. Изменение этого параметра не требует пересчета РМ, так как используется только в финальном рендере.

Дополнительные параметры, которые останутся по умолчанию, но которые Вы можете изменить, как понадобится:

Bounces (отскоки) - этот параметр управляет числом световых отскоков; Вы можете установить любой результат, который хотите; большее число отскоков - более медленной просчет РМ. Мы остановимся на значении 10 этого параметра, но Вы можете регулировать его по вашему усмотрению.

Multiplier (множитель) - это множитель для РМ; мы остановимся на значении 1.0 этого параметра, но Вы можете регулировать его по вашему усмотрению.

Таким образом мы ограничимся параметрами РМ, которые мы будем использовать - Max density и Search distance.
Их достаточно, что бы управлять РМ. Помимо тех назначений, качество РМ зависит от числа фотонов, испускаемых от источников света в сцене. Большее значение испускаемых фотонов означают более гладкую и более точную РМ. Число световых фотонов управляемо для каждого источника света в Light settings (установки источников света), доступного в свитке System параметров рендера VRAY.

Простой пример - Cornel box.

Мы будем демонстрировать эффект этих двух параметров на простой сцене - Cornel box.

Вы можете загрузить сцену здесь (для 3dsmax 5). Она включает очень простую сцену закрытого пространства с цветными стенами и spot light. Стены имеют VRay материалы, так как РМ работают только с Vray материалами.

Обратите внимание, что spot light имеет обратный квадрату затухание и весьма высокий множитель. Сделано это из-за того, что реальные огни имеют обратный квадрату затухание, и РМ тоже по умолчанию производит обратный квадрату затухание.

Результат отрендеренной сцены, с теми значениями, которые были установлены заранее:

Теперь включите GI, и установите метод РМ и для первичных и вторичных отскоков(bounces). Выключите Auto search dist, установите Max photons - 0, Retrace threshold - 0.0, и Max density - 10.0:

Отрендерите сцену. Результат должен соответствовать этому:

Немного темновато, но это можно исправить, увеличив Secondary bounces multiplier (множитель вторичных отскоков), в свитке Indirect illumination, до 1.0. Отрендерите сцену заново. Получим:

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

Теперь идем в параметры рендера, и в свитке System(системные), щелкните кнопку Light settings(настройки источников света). В открывшемся диалоговом меню, выберите spot light и установите Diffuse subdivs - 500.

Этот параметр управляет числом фотонов, испускаемых источником света (хотя, фактическое число фотонов - квадрат этого числа, в данном случае получим - 250 000). Закройте диалоговое окно и отрендерите сцену:

Трассировка фотонов длилась дольше, но Вы заметите, что шум световых образцов уменьшен, хотя изображение все еще в пятнах. Мы можем уменьшить запачканность, увеличивая параметр Search distance (зона поиска). Установите его значение 40 и отрендерите изображение:

Результат намного более чистый и гладкий, хотя очень размазанный. Также заметьте, что углы очень темные. Темные углы не легко избежать с установкой РМ, но данный эффект можно уменьшить. Теперь установите Max density (Максимальную плотность) в 5.0 и Search distance (зона поиска) в 10.0:

Ну вот эффект темных углов уменьшен, но изображение опять стало шумным и запачканным. Чтобы уменьшить шум, увеличьте Diffuse subdivs для источника света до 1500:

Шум образцов снова уменьшен. Сейчас мы снова могли бы увеличить Search distance (зона поиска), чтобы сгладить результат, однако мы сделаем кое-что еще - мы используем IM, чтобы сгладить изображение. В свитке Indirect illumination установите метод First diffuse bounce в положение Irradiance map, наносят на карту и выберите High. Отрендерите изображение:

Эта сцена очень легкая для алгоритма глобального освещения, но есть небольшая преграда - объекты отбрасывают тени и отражают свет. Следующий пример будет более трудный: Sponza Atrium.


Более трудный пример: Sponza Atrium.

Теперь мы посмотрим, как использовать РМ на более сложной сцене, Sponza Atrium, которую сделал Marko Dabrovic (http://www.rna.hr). Вы можете разгрузить ее здесь . Если Вы отрендерите ее, результат будет соответствовать этому:

Обратите внимание, что РМ не работает с skylight. Это потому, что фотоны нуждаются в реальной поверхности. Поэтому, РМ не подходит для "открытых" сцен.

Однако, если в сценах "открытая" часть небольшая, подобно окнам, Вы можете "предложить" войти свету, поместив VRay источник света в открытых "областях". В случае Sponza сцены, мы поместили источник света сверху здания, это единственно открытое место, откуда светит skylight.
Теперь включите GI, и выберите в РМ оба метода отскока первичный и вторичный. Установите значение Multiplier вторичного отскока в 1.0. Дальше идем в свиток Auto search distance (автоматическое расстояние зоны поиска) и установим Retrace threshold - 0.0, и Max photons (максимальное число фотонов) - 0.

Затем, мы должны определить хорошее значение для Max density. Оно будет влиять на выбор значение параметра Search distance.

Хорошее значение Max density зависит от маштаба сцены и детальности просчета РМ. Возьмем инструмент Tape (рулетка) и измерим расстояние между двумя колонками. Длина рулетки составила почти 6 единиц. Так, ну скажем хорошее значение данного параметра, составило бы 1/10 часть расстояния между колоннами. Установите параметр Max density в 0.6 и Search distance вдвое больше - 1.2 и отрендерите сцену. Вы должны получить подобный результат:

Результат является весьма размытым, так что очевидно придется уменьшать значения для параметров Max density и Search distance. После некоторого экспериментирования, мы пришли к следующему результату, что соответствует 0.05 для Max density и 0.1 для Search distance:

Очевидно, изображение очень шумное, но размер пятен кажется, достаточно хорошим. Мы получили темные области и яркие пятна, так как пока еще не достаточно фотонов, испускаемых от источников света. Чтобы сделать их настройку идем в свиток System и нажимаем кнопку Light settings (настройки источников света). Выберите оба источника света и установите в Diffuse subdivs 500 (что означает 500*500=250 000 фотонов от каждого источника света). Закройте Light settings и отрендерите сцену. Просчет фотонов теперь занимает больше времени, но результат получается лучше:

Однако, нам придется еще увеличить количество фотонов испускаемые источниками света для получения более качественного РМ. Установим Diffuse subdivs для солнца (target direct light) - 2000 (что означает 4 000 000 фотонов) и Diffuse subdivs для Vray источника света - 2500 (что означает 6 250 000 фотонов). Закройте Light settings и отрендерите сцену. Просчет фотонов весьма приемлемый (несколько минут), но результат намного лучше:

Чтобы сэкономить время для последующих рендеров, Вы можете сохранить РМ на диск: идите в свиток Global photon map и нажмите кнопку Save to file(сохранить в файл). Выберите любое имя для РМ и нажмите сохранить. Потом установите РМ Mode в положение From file (из файла) и нажмите кнопку Browse и выберете файл, который вы только что сохранили. Сейчас мы можем немного поиграть с параметром Search distance, чтобы немного больше размазать пятнистость РМ. Установите Search distance - 0.4 и отрендерите:

РМ стал более гладким, но эффект темных граней сильно заметен. Так, вместо того, чтобы использовать только РМ для GI, мы используем IM, для сглаживания GI. Восстановите значение Search distance на 0.1 и установите first diffuse bounce в положение Irradiance map. Включите опцию Show calc. Phase (для того, что бы видеть ход просчета IM), выберите High в irradiance map presets и отрендерите:

Обратите внимание, что РМ не зависит от положения точки, с который осуществляется просчет в сцене. Мы можем отрендерить нашу с цену с разных точек положения камеры, при этом не осуществляя повторного просчета РМ (однако IM должна просчитываться каждый раз при рендере):

На последнем изображении вы можете заметить небольшое количество пятен в углах, где встречаются две поверхности. Это случается, потому что РМ является слишком шумным в тех областях, что отражается также и на IM. На рендере показано как РМ выглядит из данной точки просмотра:

Шум появляется, потому что фотонам тяжело пройти в закрытые и удаленные области сцены. Один из способов избавиться от этого, это повысить число фотонов испускаемых источником света. Это РМ с 6000 subdivs (36 000 000 фотонов) для солнца и 5000 subdivs (25 000 000 фотонов) для area light:

А это то же самое изображение, но с IM методом first diffuse:

Конечно, увеличение числа фотом испускаемых источников света, означает увеличение время просчета в общем. Второй способ уменьшение количества артефактов, увеличить Search distance, который будет размывать РМ немного больше; однако это так же будет приводить к затемнению граней объектов. Это изображение было просчитано с Search distance - 0.2; с использованием низкой разрешающей способностью (low-resolution) РМ:

И еще один способ борьбы с артефактами, увеличивать Retrace threshold, по умолчанию значение 2.0. Это заставит VRay вычислять GI непосредственно для вторичных отскоков около углов, вместо того, чтобы использовать РМ. Это означает, что IM будет медленнее просчитываться, но углы будут немного лучше. Следующее изображение было просчитано со значением Search distance 0.1 и Retrace threshold 2.0:

(Переведено Alt. Запрещается копирование или изменение данного перевода без согласия автора перевода. crumb-boy@mail.ru)

 

Другие статьи по теме

 
 

Популярные статьи


Глобальное освещение в vRay (231992), Автор:Alone
Рендер интерьера в VRay (185614), Автор:Chaosgroup
Создание занавесок (182336), Автор:mentor3d
 
 

Свежие статьи


Настройка студии. (08.05.2006 - 07:03, Автор:Aversis)
Настройки материала VrayMtl. Часть II (04.04.2006 - 06:55, Автор:Aversis)
Настройки материала VrayMtl (21.03.2006 - 06:45, Автор:Aversis)
 


SpyLOGРейтинг@Mail.ru Rambler's Top100
Сгенерировано за 0.0366490 секунд.Выполнено 13 запросов к базе.
3dcenter.ru © Все права защищены. | Рекламодателям