rQMC sampler
Основы.
Метод rQMC (Случайный Квази Монте-Карло) употребляется везде в VRay для всех "размывающих" значений - антиалиасинга, глубины поля, непрямого освещения, областей свечения, глянцевого отражения/преломления, полупрозрачности, размытия движения и т.д. rQMC sampling используется для определения какая выборка будет использована и, в конечном итоге, какой луч будет трассирован.
Вместо того чтобы иметь отдельные методы для выборок для каждого из этих размывающих значений, VRay имеет один унифицированный каркас который определяет как много и какие точно выборки будут взяты для конкретного значения, в зависимости от контекста в которм это значение требуется. Каркас называется rQMC sampler.
Заметим, что, хотя он и подобен в концепции, метод выборок, реализованный в Vray, отличается от строгих выборок QMC - он использует более расходящуюся числовую последовательность, чем чистый метод QMC (но ниже по сравнению с чисто случайным методом Монте-Карло).
Для справки, точное число выборок, которые рассматривает VRay рассчитывает используя случайную низкорасходящуюся последовательность Хальтона (Halton).
Актуальное число выборок определяется в основном тремя факторами:
- Значением subdivs (разделения) указанным пользователем для конкретного эффекта размытия. Он умножается на Global subdivs multiplier (смотри ниже).
- Важностью значения (например темное глянцевое отражение можно вычислить с меньшим числом выборок, чем светлое; далекий светильник области требует меньше выборок, чем близкий и т.д.). Базис числа выборок определяемый по авжности называется importance sampling (важность выборки).
- Отклонением (читай "шум") выборок взятых для конкретного значения - если выборки не очень отличаются друг от друга, тогда значение может рассчитываться с меньшим числом выборок, если выборки сильно отличаются, тогда большее число их необходимо для получения хорошего результата. Это основная работа - контролировать выборки по мере их рассчета и решать после каждой новой выборки требуется ли большее их число. Эта техника называется early termination (раннее прерывание) или адаптивный сэмплинг.
Исключено в версии 1.50 R1 - оставлено мной для информации [БВА].
Здесь объяснено как это работает.
Каждый раз, когда VRay нужно рассчитать размытое значение он подсчитывает две вещи:
- Максимальное число выборок, которое может быть взято. Это частично управляется параметром subdivs для соответствующего значения. Давайте назовем это числом N.
- Минимальное число выборок, которе может быть сделано. Оно не меньше чем параметр Min samples описанный ниже. Он также зависит от параметра Amount из адаптивного сэмплинга и действует на значение коечного результата. Это число также зависит от параметра Amount из адаптации раннего прерывания. Назовем это число M.
После этого VRay переходит к рассчету первых M выборок.
Для каждой следующей (N-M) из оставшихся выборок, VRay анализирует результат и решает "достаточно ли он хорош". Здесь включается параметр Noise threshold (Порог шума). Если VRay решит что результат хорош или если он рассчитал все N выборок, рассчитывается финальное размытое значение и возвращается для дальнейших действий.
Для большей информации о взаимосвязи и действии этих параметров смотрите секцию уроков.
Параметры.
Amount (Величина) - управляет пределами зависимости числа выборок от важности размытого значения. Также уравляет минимальным числом выборок. Значение 1.0 означает полную адаптацию; 0.0 - отсутствие адаптации.
Min samples (Минимум выборок) - определяет минимальное число выборок, которые должны быть сделаны перед применением алгоритма раннего прерывания. Большее число замедляет работу, но делает алгоритм раннего прерывания более надежным.
Noise threshold (Порог шума) - управляет решением VRay-я когда размытое значение "достаточно хорошо" для использования. Он напрямую соотносится с шумом в результате. Меньшее значение значит меньше шума, болше выборок и выше качество. Значение 0.0 означает, что адаптация применяться не будет.
Global subdivs multiplier (Глобальный множитель разделения) - это будет умножаться на все значения subdivs везде в течение визуализации; Вы можете использовать его для быстрого увеличения/уменьшения качества выборок везде. Он действует всюду, исключая карты света, фотонные карты , каустику и aa subdivs (разделение антиалиасинга) . Все остальное (dof (глубина поля), moblur (размытие движения), irradiance map (карты освещения), rQMC GI (квази Монте-Карло непрямого освещения), area lights (протяженные светильники), area shadows (тени), glossy reflections/refractions (глянцевое отражение/преломление)) реагируют на этот параметр.
Time independent (Временная независимость) - когда эта опция включена шаблон rQMC будет тем же в каждом кадре анимации. Т.к это может быть неудобно в некоторых случаях, Вы можете выключить эту опцию чтобы сделать шаблон rQMC изменяющимся во времени. Заметим что повторная визуализация того же кадра произведет тот же результат в обоих случаях.