Progressive path tracing with V-Ray |
Главная | Tutorials |
Search Keywords: PPT, Light Cache
В этом уроке мы обсудим альтернативный метод визуализации финального изображения в V-Ray называемый progressive path tracing.
Обычно, просчет изображения состоит из нескольких различный задач, например, расчет каустики, расчет light cache, irradiance cache и наконец, просчет финального изображения.
В то время как пользователь получает визуальное отображение процесса в некоторых из этих этапов, финальное изображение доступно только когда оно полностью завершено, промежуточные результаты не могут быть использованы (распечатаны, переписаны или отправлены по почте).
Progressive path tracing, с другой стороны это метод последовательного расчета сразу финального изображения, без промежуточных этапов. Пользователь может прервать процесс в любой момент и использовать промежуточный результат, если они удовлетворительны по достигнутому качеству. В дополнение, при использовании path tracing, пользователь имеет только несколько параметров и может быть очень легко настроен.
V-Ray построен на основе алгоритма light cache для выполнения progressive path tracing. Это имеет преимущества использования light cache для уменьшения шума в течение процесса трейсинга и более быстрого просчета освещения.
Использование light cache обеспечивает отсутствие ограничения на количество отскоков и что просчет обеспечит правильное освещение в сцене. В дополнение, просчет light cache from может быть сохранен для дальнейшего использования в обычном рендере.
Шаг 1: Подготовка.
Настройка для progressive path tracing довольно проста:
1.1. Откройте сцену, которая может быть найдена здесь here.
1.2. Установите V-Ray как текущий рендер.
1.3. Выберите Override mtl опцию в Global switches секции, нажмите кнопку рядом с этой опцией и выберите материал VRayMtl
1.4. Включите Indirect illumination on и установите первичный и вторичный алгоритм GI в Light cache.
1.5. Установите режим использования light cache в Progressive path tracing.
1.6. Дополнительно вы можете включить Frame stamp для вывода информации о времени рендера на изображении.
1.7. Включите использование Enable built-in frame buffer в V-Ray virtual frame buffer секции. Это не обязательно, но позволяет спокойно масштабировать и двигать изображение в буфере во время рендера, в то время как такие действия в стандартном 3dsmax VFB могут привести к зависанию 3dsmax.
1.8. Рендер сцены. Вы увидите, как изображение постепенно просчитывается, сначала очень шумное, но постепенно улучшается по мере добавления новых сэмплов:
Step 2: Уменьшение уровня шума
Только что полученное изображение, выглядит довольно шумно, хотя его рендер занял небольшое время и может быть использован как превью. Но для, финального рендера, было бы неплохо уменьшить уровень шума.
Это можно сделать настройкой параметра Subdivs в light cache.
3.1. Установите light cache Subdivs в 2000.
3.2. Рендерим. Рендер теперь занимает больше времени, т.к. V-Ray рассчитывает больше сэмплов. Так как мы увеличили Subdivs в два раза, время рендера приблизительно учетвериться:
3.3. Если вы хотите еще уменьшить шум, еще увеличьте Subdivs. Для одиночных кадров (не анимации), Вы можете установить его в очень большое значение и подождать достаточно долго, до тех пор пока вас, наконец не удовлетворит полученный результат.
Ниже приведен результат рендера с параметром Subdivs установленным в 20000, который был остановлен после часа просчета:
Step 4: Настройка параметра bias в GI решении
Для расчета изображения, приведенного выше, мы использовали настройки по умолчанию (исключая параметр Subdivs). Настройки по умолчанию используют light cache как основу при вычислении GI. Это помогает уменьшить уровень шума в финальном изображении, за счет внесения bias (погрешности) в расчет GI. Эта погрешность может проявиться как протекание света в узкие щели или в виде пятен от вторичного освещения GI. Хотя обычно, разница между расчетом с погрешностью и без, минимальна.
Вы можете использовать параметр light cache Sample size для настройки bias (погрешности). Большие значения будут использовать сэмплы большего размера и увеличат погрешность. Меньшие значения уменьшают погрешность но, но требую больше памяти. Значение 0.0 не будет использовать кэширования совсем и выполнит расчет освещения без погрешности. Ниже приведены результат трех рендеров с различными значениями Sample size и с одинаковым значением Subdivs (1000). Различия в этой простой сцене не очень значительные, но в более сложных сценах, уменьшение шума может быть более заметно.
Sample size = 0.04 Sample size = 0.02 Sample size = 0.0 (unbiased solution)
Шаг 1: Рендер с материалами
1.1. Выключите настройку Override mtl в секции Global siwtches .
1.2. Для более быстрого превью, верните параметр Subdivs для light cache в 1000.
1.3. Рендерим:
В этом месте, вы можете настроить материалы и т.п., получая относительно быстрый превью.
Step 2: Улучшение качества рендера с материалами
Так как уровень шума определяется параметром Subdivs, все что нам остается - его увеличить. Индивидуальные настройки Subdivs для материалов (т.к. glossy reflections/refractions) не имеют значения.
2.1. Увеличьте значение параметра Subdivs в 2000 и сделайте рендер. Рендер теперь займет больше времени, но шума уже значительно меньше:
По умолчанию, V-Ray не рассчитывает reflective GI caustics, так как это привносит шум в изображение. Однако иногда каустика важна для реализма изображения.
2.2. Включите Reflective GI caustics в секции Indirect illumination
2.3. Рендерим. Отражения от каустики слегка видны на зеленой площадке и на сфере, так же как и небольшое увеличение яркости освещения в сцене. Изображение так же стало более шумным в местах, где есть каустика:
2.4. Для уменьшения шума, нам нужно еще больше Subdivs для light cache, например, 4000. Так как мы увеличиваем значение вдвое, время рендера приблизительно учетвериться:
Помните, что вы не можете получить GI caustics от совершенно зеркального объекта, используя точечный источник света. Или источник света должен быть area source, или материал должен быть чуть "шероховатым", или и то и другое. Вы так же можете использовать photon mapping для генерации каустики в настройках секции Caustics Этот метод не такой точный, как GI caustics, но может справиться с генерацией каустики от точечных источников на идеально зеркальной
Единственное, что нужно помнить при изменении размера изображения это увеличение уровня шума по сравнению с изображением меньшего размера с теми же настройками light cache Subdivs . Это происходит потому, что сэмплы распределяются по большему числу пикселей. Для компенсации этого, вам нужно увеличить Subdivs. Увеличивая разрешение дважды вам так же нужно увеличить Subdivs в два раза, для получения того же качества (и это опять означает, что время рендера опять учетвериться) Здесь приведен результат рендера изображения 800x600 с 8000 Subdivs: