Porsche — Underwater road
3d award

Использование карты фотонов в VRay

 diablo_ 389.03587.2 19 января 2006 в 00:00

Этот урок посвящен основной концепции и использованию карты фотонов в VRay. Мы использовали VRay 1.09.02e и Max 3.1.

Основная концепция

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

Конечно, карта фотонов дает только грубую оценку global illumination в сцене. Хотя она может использоваться для прямого просчета эффектов GI, обычно качество неприемлемое. Поэтому карта фотонов часто используется для ускорения более точного просчета Monte Carlo, который использует карту фотонов для расчета вторичноего переотражения GI secondary bounces.

Особенности photon maps в VRay

Global photon maps в VRay работает только с материалами VRay. Это ограничение может быть устранено в следующих версиях.

Несмотря на то, что photon mapping может использоваться со стандартными источниками света Max , VRay lights и стандартные направленные (direct) источники света более предпочтительны. В этом уроке учитывается эта особенность.

Простая сцена

Давайте начнем с очень простой сцены - чайник, стоящий на плоскости, освещенный VRay light. Создайте plane размером 200x200 units, в центре поставьте на нее чайник с радиусом 25 и segments-10; поместите VRayLight размером примерно 30x30 units где-нибудь над ним. Убедитесь, что источник света направлен на плоскость. Примените зеленый VRay material к чайнику и светящийся серый материал к плоскости. Выберите VRay как current renderer и отрендерите сцену (если сцена рендерится слишком мендленно, уменьшите стоящие по умолчанию subdivs у VRay light).

Вот так сцена выглядит без indirect illumination.

Если вы включитеGI , у вас должен получиться показанный ниже результат (заметьте, что цвет чайника отражается на плоскости и наоборот).

Только взгляните на photon mapping! В свитке Indirect illumination, выберите Global photon map и для primary, и для secondary GI bounces. Все остальные значения оставьте по умолчанию и отрендерите сцену. У вас должно получиться нечто похожее:

Результат далек от желаемого, но отрендерен очень быстро и представляет собой более или менее точное распространение света в сцене. Перейдем теперь в свиток System и нажмем на кнопку Light settings. Выберите VRayLight из списка слева.

Опция Generate diffuse контролирует излучает ли источник света фотоны global illumination. По умолчанию - On. Значение Diffuse subdivs определяет число излучаемых фотонов. По умолчанию - 150, что означает 150x150 = 22500 фотонов распространяются источником. Увеличим это число до 300, закроем Light settings dialog и отрендерим снова.

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

Сейчас откройте свиток Global photon map во вкладке Render .

Поменяйте значение Max photons на 100 и отрендерите снова.

Результат почище, на также и более "смазанный". Параметр Max photons определяет число фотонов, которое будет использовано для расчета global illumination в данной точке. Если увеличить этот параметр, рендер будет более медленным, а изображение более чистым ( гладким - smoother). Поставьте снова значение Max photons 30.

Вы можете заметить, что когда photon map включена, VRay light больше не считается во время рендеринга. Так происходит, потому что включена по умолчанию опция Store direct light. При включенной Store direct light photon map сохраняет как прямое так и непрямое освещение. Если много источников света в сцене это значительно убыстряет рендеринг, так как для них не будет каждый раз осуществляться прямой просчет.Если вы хотите, чтобы для прямого освещения осуществлялся прямой просчет, выключите Store direct light .

В этот раз рендерилось дольше, так как прямое освещение считалось традиционно. Снова включите Store direct light .

Как оказалось, photon map может достаточно хорошо имитировать global illumination, несмотря на то, что картинки достаточно некачественные и изобилуют пятнами. Вы можете уменьшить пятнистость повышением Diffuse subdivs для источника света и параметра Max photons карты фотонов, однако это замедлит рендер и потребует много памяти. Другой способ добиться хороших результатов - использовать photon map вместе сDirect GI или с Irradiance map. Такое сочетание удобно, так как сочетает в себе высокий уровень детализации, обеспеченный Direct GI и irradiance map, в то время как photon map ускоряет просчет GI.

Выберите Irradiance map для first diffuse bounce, и снова отрендерите. Результат достаточно хорошо и очень похож на отрендеренный с помощью irradiance map и direct computation для secondary bounces.

Из-за своей простоты чайник на плоскости не самый удачный пример для photon mapping, поэтому для следующего урока возьмем сцену поинтереснее.

The Cornell box

Начнем с создания необходимого - цветных стен, трех VRay light и нескольких объектов внутри. Если вы сейчас отренедерите сцену, она будет темной и неинтересной, из-за отсутствия GI (уменьшите subdivs, если она рендерится очень медленно). Click http://www.vrayrender.com/stuff/PMapTutorial/cornellStart.zip here for the startup scene.

Включите GI, сцена станет немного лучше, но все равно немного темноватой:

Это можно исправить увеличением Secondary bounces multiplier до 0.85 и Secondary diffuse depth до 20, к примеру. Также поставьте GI Min rate -4, для немного более быстрого просчета irradiance map. Результат лучше, но просчет irradiance map немного медленнее. Теперь используем photon map, чтобы уменьшить это время.

Включите в First и Secondary diffuse bounces Global photon map. Перейдите в свиток Global photon map и задайте Bounces 20. Этим мы устанавливаем количество диффузных переотражений, просчитываемых photon map. Также поставьте параметр Retrace depth - 20 (этот параметр объясним попозже). В общем эти параметры желательны для Bounces и Retrace bounces .

Этот рендер очень быстрый и представляет собой довольно хорошую имитацию распространения света в сцене. Хотя, конечно, получилось очень грязно. Как было замечено в сцене с чайником, использование Direct GI или Irradiance map вместе с photon map позволяет избавиться от пятен. Поставьте в First diffuse bounces Irradiance map. Результат почти тот же, как и при использовании только irradiance map, но посчитан быстрее, так как irradiance map в этом случае использовала photon map для просчета secondary light bounces.

Давайте посмотрим на другие параметры global photon map. По умолчанию освещение в каждой данной точке считается photon map путем перебора близлежащих N фотонов (где N, по сути, значение параметра Max photons ), и распределение суумарной мощности по поверхности, покрываемой фотонами. Возможен предварительный просчет этих данных освещения в photon map. Включите опцию Convert to irradiance map, и в First diffuse bounces переключите на Global photon map и вы непосредственно увидите photon map.

Сейчас вы можете заметить , что VRay делает дополнительный проход (Converting photon map to irradiance map). Результат получается похожим на тот, как если бы использовалась одна photon map, только более читым (гладким). Кроме того, сейчас VRay перебирает только 10 близлежащих фотонов( значение параметра Interp. samples, расположенного ниже опции Convert to irradiance map), вместо 30. Это убыстряет рендер. Если вы рендерите с Irradiance map для first diffuse bounces, у вас получится почти такой же результат, как и до, но время прохода irradiance map будет даже быстрее.

Последние параметры, которые мы рассмотрим в этом уроке - Retrace threshold и Retrace bounces. Задайте Retrace threshold 0.0 и отрендерите картинку:

Сейчас irradiance map считается очень быстро, но появилось несколько дурацких артефактов по углам. Это потому, что photon map делает хороший просчет только для поверхностей, удаленных друг от дгуга. Узкие углы, помехи photon map влияют на результат, увеличивая число артефактов. Это можно убрать, используя в углах расчет GI с методом Monte Carlo вместо photon map. Параметр Retrace threshold контролирует, что значат "узкие угла " для VRay. Когда он равен 0.0, retracing не считается. Большие значения уточняет просчет, но и замедляет рендер в целом. Давайте вернем значение Retrace threshold , которое было по умолчанию - 2.0.

Retrace depth контролирует максимальную глубину для вторичного просчета GI. В идеале, он должен быть равен числу Bounces в photon map. Из-за низких значений углы могут быть темными.

Включите Adaptive antialiasing при окончательном рендере.

Комментарии (Всего: 2)

Online|Offline DimaIV 0.0 0.0 18 мая 2009 в 19:59 #0

Аватар DimaIV
Пасиб!

Online|Offline alkatraz 0.0 0.0 17 октября 2009 в 04:28 #0

Аватар alkatraz
спасибо огромнейшее. полезная информация....
Что бы оставить комментарий вам необходимо войти или зарегистрироваться!

Советуем почитать

Студия Vray

Авторский урок, по созданию студии в VRay.Настройка освещения, материалов и рендера.

Комментарии 20 Рейтинг 6 Просмотры 133 067 Автор: diablo_ 15 мая 2007 в 00:00

VRayEnvironmentFog в интерьерной визуализации. Конкурсный урок

Всем привет! Данный урок расскажет о том, как создать объемный свет в 3sd max+VRay с помощью VRayEnvironmentFog. Этот эффект может пригодиться в интерьерной визуализации, чтобы например, украсить рендер красивым лучиком солнца из окна, или показать луч от проектора при визуализации домашнего кинотеатра. Урок будет подробным и понятным даже начинающим.

Комментарии 9 Рейтинг 10 Просмотры 40 437 Автор: VDream 22 июля 2013 в 13:53

VRay - что это такое и как этим пользоваться: Част

Среди современных рендер-программ для 3ds max VRay пользуется наибольшей популярностью. Нисколько не преувеличивая можно сказать, что VRay популярен настолько, насколько все остальные рендеры - mental

Комментарии 10 Рейтинг 4 Просмотры 63 128 Автор: diablo_ 24 июня 2006 в 00:00

Progressive Rendering в V-Ray 3.0

После того как я получил доступ к V-Ray 3.0 beta, был сильно впечатлен новой функцией "Progressive Rendering". Это новый инструмент в версии 3.0, которая позволяет тебе видеть рендер в реальном времени. 

Комментарии 4 Рейтинг 4 Просмотры 35 610 Автор: Zvonovsky Max 20 января 2014 в 13:53

Визуализация экстерьера с помощью Vray

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

Комментарии 25 Рейтинг 5 Просмотры 145 246 Автор: firetwister 4 августа 2008 в 00:00

3D моделиприслатьещё

Форумещё

Блогиещё

Популярные урокиещё

Реклама

3dmir.ru - Вся компьютерная графика
      www.megastock.ru