Search Keywords: PPT, Light Cache

 

Обзор

Исходная визуализация

Просчет с материалами

Увеличение размера изображения

Замечания

 

 

Обзор

В этом учебном материале мы будем обсуждать альтернативный метод для расчета окончательного изображения с V-Ray, называемый прогрессивной трассировкой путей (progressive path tracing).

 

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

 

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

 

На основании, заложенным алгоритмом светового кэша (light cache), V-Ray выполняет прогрессивную трассировку путей. Преимущество от использования светового кэша в уменьшении шума, возникающего в процессе трассировки путей, для более чистых результатов и в ускорении распространения света. Использование светового кэша гарантирует, что количество отскоков света не ограничено и что результат стремится к корректному решению света в сцене. В дополнение, световой кэш из изображения, полученного трассировкой путей, может быть сохранен и заново использован позже для обычной визуализации.

Исходная визуализация

Шаг 1: Исходная настройка.

 

Настройка прогрессивной трассировки путей довольно проста:

 

1.1. Откройте исходную сцену, которую можно найти здесь.

1.2. Установите V-Ray как текущую систему визуализации.

 

1.3. Включите опцию Override mtl в свитке Global switches, нажмите кнопку рядом с ней и выберите материал VRayMtl с установками по умолчанию.

1.4. Включите Indirect illumination и установите Light cache как метод просчета и первичных, и вторичных отскоков.
1.5. Установите режим светового кэша Progressive path tracing.
1.6. Опционально вы можете включить Frame stamp для печати времени просчета на изображении.

1.7. Включите опцию Enable built-in frame buffer в свитке V-Ray virtual frame buffer. Это необязательно, но позволит вам безопасно увеличивать и перемещаться по изображению в процессе просчета. Использование виртуального буфера кадра (VFB) 3dsmax приведет к падению 3dsmax при попытке увеличения или перемещения изображения в процессе просчета.
1.8. Визуализируйте сцену. Вы должны увидеть как изображение постепенно улучшается - более зашумленное вначале, по мере добавления сэмплов, становится лучше:

 

 

Шаг 2: Регулировка уровня шума

 

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

 

3.1. Установите параметр светового кэша Subdivs в 2000.

3.2. Просчет. Теперь просчет занимает больше времени, т.к. V-Ray вычисляет больше сэмплов. Хотя мы увеличили Subdivs вдвое, время просчета возросло примерно вчетверо:

 

 

3.3. Если вы хотите уменьшить шум еще сильнее, еще больше увеличьте Subdivs. Для просчета статических изображений вы можете установить для этого параметра очень большое значение и ждать так долго, как вы хотите, пока не сочтете результат приемлемым и не прекратите просчет. На иллюстрации просчет с 20000 подразбиениями, который был прекращен через 1 час:

 

 

Шаг 4: Регулировка смещени решения GI

 

Для изображений выше мы использовали для светового кэша установки по умолчанию (за исключением параметра Subdivs). Установки по умолчанию используют световой кэш как помощь в процессе расчета GI. Это помогает уменьшить шум на окончательном изображении ценою внесения смещения в решение GI. Это смещение можно обнаружить как просачивание света под тонкими стенками или как пятнистое вторичное GI. Однако во многих случаях разница между смещенным и несмещенным решением минимальна.

 

Вы можете использовать параметр светового кэша Sample size для управления смещением. При больших значениях будут использоватся большие сэмплы светового кэша и смещение будет увеличиваться. Меньшие значения будут уменьшать смещение, но могут использовать больше памяти. Значение 0.0 никакое кэширование не будет производиться вообще и будет давать несмещенное решение. Ниже - три иллюстрации с различными значениями для Sample size и одинаковым значением Subdivs, равным 1000. В этой тестовой сцене различия незаметны, но в более сложных ситуациях уменьшение шума может быть значительным.

 

Sample size = 0.04
Sample size = 0.02
Sample size = 0.0 (несмещенное решение)

 

Просчет с материалами

Шаг 1: Просчет с материалами

 

1.1. Выключите опцию Override mtl в свитке Global siwtches.

1.2. Для убыстрения предварительного результата верните параметр светового кэша Subdivs на 1000.

1.3. Визуализация:

 

 

В этом месте вы можете отрегулировать настройки материалов и т.п., пока имеете относительно быструю обратную связь.

 

Шаг 2: Улучшение качества с материалами.

 

Т.к. уровень шума определяется параметром Subdivs, мы должны только увеличивать его. Отдельные Subdivs для материалов (например глянец отражений/преломлений) ничего не значат.

 

2.1. Увеличьте параметр Subdivs до 2000 и визуализируйте сцену. Просчет теперь занимает больше времени, но шум уменьшился:

 

 

По умолчанию V-Ray не считает отраженную GI-каустику, т.к. она имеет тенденцию добавлять шум к изображению. Однако иногда она важна для окончательного результата.

 

2.2. Включите опцию Reflective GI caustics в свитке Indirect illumination.

2.3. Визуализируйте изображение. Отраженная каустика может быть замечена на зеленом огрызке и на сфере, а также как общее осветление сцены. Обратите внимание, что изображение стало более зашумленным там, где есть каустика:

 

 

2.4. Для уменьшения шума в изображении нам опять надо увеличить параметр светового кэша Subdivs например до 4000. Хотя мы увеличили Subdivs вдвое, время просчета возросло примерно вчетверо:

 

 

Заметим, что вы не можете получить GI-каустику из полностью отражающих поверхностей с точечными источниками света. Каждый источник света должен быть неточечным источником или материал должен быть с глянцем или и то и другое. Вы также можете использовать фотонную карту для генерации каустики через установки в свитке Caustics. Этот метод не такой точный как GI-каустика, но может поддерживать точечные источники света с полностью отражающими поверхностями.

Увеличение размера изображения

Запомните одну вещь, когда изменяете размер изображения: большие изображения более зашумлены по сравнению с меньшими при одинаковом значении параметра светового кэша Subdivs. Это происходит потому, что сэмплы распределены поверх большего количества пикселов, и, следовательно, каждый пиксел получает меньше сэмплов. Для компенсации этого вам необходимо увеличить значение параметра Subdivs. Увеличение разрешения вдвое означает, что вы также должны вдвое увеличить параметр Subdivs для получения того же качества (и это означает, что время просчета увеличится вчетверо). Здесь последнее изображение, посчитанное с разрешением 800х600 с 8000 Subdivs (щелкните на картинке для просмотра полного изображения):

 

Замечания

 


Хостинг от uCoz
Документация по V-Ray 1.50 SP5 Site root

 

Search Keywords: PPT, Light Cache

 

General

Initial rendering

Rendering with materials

Increasing the image size

Notes

General

In this tutorial we will discuss an alternative method for computing the final image with V-Ray called progressive path tracing.

 

Typically, computing the image goes through several separate tasks - for example, caustics calculations, light cache computation, irradiance cache computation, and final image sampling. While the user receives visual feedback through some of these stages, the final image is completed only at the end of the last stage - the intermediate results cannot be used.

 

Progressive path tracing, on the other hand, is a method for incremental computation of the whole image at once. The user can stop the calculation at any time and use the intermediate results, if they are good enough. In addition, with path tracing, the user has only a few controls to worry about and it is very easy for set up.

 

V-Ray builds upon the foundation of the light cache algorithm to perform progressive path tracing. This has the advantage of using the light cache for noise reduction during the path tracing process for cleaner results and faster light propagation. Using the light cache ensures that the number of light bounces is not limited and that the result converges to the correct lighting solution for the scene. In addition, the light cache from a path traced image can be saved and re-used later on for a normal rendering.

Initial rendering

Step 1: Initial setup.

 

Setting up progressive path tracing is fairly easy:

 

1.1. Open the starting scene, which can be found here.

1.2. Set V-Ray as the current rendering engine.

 

1.3. Check the Override mtl option in the Global switches rollout, click the button next to it and select a default VRayMtl material.

1.4. Turn Indirect illumination on and set both the primary and the secondary GI engines to Light cache.
1.5. Set the light cache mode to Progressive path tracing.
1.6. Optionally, you can turn on the Frame stamp to print the render time on the image.

1.7. Check the Enable built-in frame buffer option in the V-Ray virtual frame buffer rollout. This is not necessary, but allows you to safely zoom and pan through the rendered image during the rendering process. Using the 3dsmax VFB may cause 3dsmax to crash if you zoom/pan during rendering.
1.8. Render the scene. You should see the image being gradually sampled, more noisy at first, but getting better as more samples are added:

 

 

Step 2: Adjusting the noise level

 

The image above is fairly noisy, although it is computed quite quickly and can be used for previews. However, for final renderings, we would like to reduce the noise. This is done by adjusting the light cache Subdivs parameter.

 

3.1. Set the light cache Subdivs to 2000.

3.2. Render. Rendering now takes more time, as V-Ray computes more samples. Since we increased the Subdivs twice, render time will approximately quadruple:

 

 

3.3. If you want to reduce noise even further, increase the Subdivs even more. For rendering stills, you can set this to a very high value and wait for as long as you like before cancelling the render and using the result. Here is a render with 20000 subdivs which was cancelled after one hour:

 

 

Step 4: Adjusting the bias of the GI solution

 

For the images above, we used the default settings for the light cache (except for the Subdivs parameter). The default settings use the light cache as an aid during GI calculations. This helps to reduce noise in the final image, at the cost of introducing bias to the GI solution. This bias may show up as light leaks under thin walls or splotchy secondary GI. In most cases however, the difference between a biased and an unbiased solution is minimal.

 

You can use the light cache Sample size parameter to control bias. Larger values will use larger light cache samples and will increase the bias. Smaller values will decrease bias but may use more memory. A value of 0.0 will not use any caching at all and will produce an unbiased solution. Here are three renderings with different values for the Sample size and with the same Subdivs value (1000). There isn't much of a difference in this simple scene, but in more complicated situations, the noise reduction can be significant.

 

Sample size = 0.04
Sample size = 0.02
Sample size = 0.0 (unbiased solution)

 

Rendering with materials

Step 1: Rendering with materials

 

1.1. Turn off the Override mtl option from the Global siwtches rollout.

1.2. For faster previews, return the Subdivs for the light cache to 1000.

1.3. Render:

 

 

At this point, you can adjust material settings etc, while getting relatively fast feedback.

 

Step 2: Better quality with materials.

 

Since the noise level is determined by the Subdivs parameter, we only have to increase that. Individual Subdivs for materials (f.e. glossy reflections/refractions) do not matter.

 

2.1. Increase the Subdivs parameter to 2000 and render. Rendering now takes more time, but the noise is reduced:

 

 

By default, V-Ray does not compute reflective GI caustics, since these tend to add noise to the image. Sometimes however, they are important for the final result.

 

2.2. Turn Reflective GI caustics on from the Indirect illumination rollout.

2.3. Render the image. Reflective caustics can be seen on the green patch and the sphere, as well as a general brightening of the scene. Notice that the image is also noisier in places where there are caustics:

 

 

2.4. To reduce the noise in the image, we will need more Subdivs for the light cache, for example, 4000. Since we increased the value twice, render time will again approximately quadruple:

 

 

Note that you cannot obtain GI caustics from perfectly specular surfaces with point light sources. Either the light source must be an area source, or the material must be glossy, or both. You can also use photon mapping to generate the caustics through the settings in the Caustics rollout. This method is not as precise as the GI caustics, but can handle point light sources with perfect specular surfaces.

Increasing the image size

The only thing to remember when changing the image size is that larger images are noisier compared to smaller ones for the same light cache Subdivs value. This is because the samples are distributed over more pixels, and so each pixel gets fewer samples. To compensate for this, you will need to increase the Subdivs value. Increasing the resolution twice means that you will also have to increase the Subdivs twice to get the same quality (and it means that the render time will again quadruple). Here is the last image rendered at 800x600 with 8000 Subdivs (click for the full version):

 

Notes

 

Хостинг от uCoz