Blender > Blender Internal и Cycles
Методы QMC семплирования в Blender Render
Samovar:
Оригинал:
http://web.archive.org/web/20111028165410/http://www.blender.org/development/release-logs/blender-246/qmc-sampling/
Перевод на artnotes.ru:
http://artnotes.ru/qmc-sampling-types/
Samovar:
Методы QMC семплирования
Многие методы визуализации генерируют конечный результат (цвет пикселя) с помощью усреднения значений, полученных из нескольких выборок (семплов). Так, например, размытые отражения (Glossy) получаются усреднением значения из набора выборок (семплов) внутри формы конуса отраженного луча. Алгоритм мягкого затенения на базе препятствий в окружающем пространстве (Ambient Occlusion), усредняет выборки (семплы), взятые по полусфере вокруг затеняемой точки. Мягкие падающие тени от источника света получаются усреднением выборок (семплов), взятых по его форме. И тому подобное.
Популярным методом для создания точек/направлений выборок является метод Quasi-Monte-Carlo (QMC) (Квази-Монте-Карло). Метод Монте-Карло является действительным методом получениия случайных выборок (назван в честь города казино и азартных игр), а метод Квази-Монте-Карло (QMC), таким образом, является его разновидностью, делающей выборки которые «почти случайными», но лучше распределенными.
В методе действительно случайных выборок - Монте-Карло, часто бывает так, что точки выборок будут попадать очень близко друг-от-друга, и оставлять большие пробелы в пространстве. Эта неравномерная концентрация точек выборок приводит к шуму выводимого изображения, так как вполне возможно, что один пиксель будет иметь набор выборок, которые сконцентрируются слишком сильно на одной части сцены, в то время как выборки следующего пикселя будут сосредоточены на другой части сцены. Метод QMC стремится уменьшить эту дисперсию, сохраняя выборки как равномерно распределенными, так и в детерминированной последовательности.
В Blender Render реализованы два метода QMC семплирования:
1. с использованием последовательности Холтона (Halton Sequence) - Адаптивный QMC (Adaptive QMC)
https://en.wikipedia.org/wiki/Halton_sequence
2. c использованием последовательности Хэммерсли (Hammersley Sequence) - Равномерный QMC (Constant QMC)
https://en.wikipedia.org/wiki/Low-discrepancy_sequence#The_Hammersley_set
Ссылки:
«Численные методы Монте-Карло» Соболь И.М. Издательство «Наука» 1973 г.
http://padaread.com/?book=27237&pg=1
Псевдо- и квазислучайные числа
http://prografix.narod.ru/rus_rand.html
далее...
Samovar:
Как показано на рисунке, последовательность Хэммерсли распределяется более равномерно, и дает менее шумные выборки. Однако последовательность Холтона имеет одно главное преимущество - она может быть рассчитана постепенно, сохраняя хорошее распределение при добавлении новой выборки (семпла).
Это позволяет использовать последовательность Холтона для метода адаптивных выборок, в то время как точки выборок последовательности Хэммерсли должны быть предварительно вычислены и использованы в полной мере. Адаптивный метод выборок означает, что число выборок (семплов) может быть изменено в соответствии с различным ситуациям при визуализации изображения, и в некоторых ситуациях это может быть намного более эффективным решением.
Это вовсе не означает, что "Адаптивный QMC" – это всегда лучший вариант, хотя, если сцена такова, что визуализируется долго с использованием метода адаптивных выборок, то луче использовать равномерное распределение выборок - "Равномерный QMC", который может дать лучшее финальное изображение за то же время.
далее...
Samovar:
Адаптивное QMC семплирование
Адаптивное QMC семплирование включается автоматически, когда пробоотборник установлен в положение "Адаптивное QMC" (Adaptive QMC), и значение порога (Threshold) больше 0. В Blender Render в настоящее время используется простой метод «раннего выхода». В процессе получения значений из выборок, код проверяет, требуется ли больше выборок для расчетов с пороговым значением. Если определяется, что больше выборок не требуется, то вычисления новых выборок останавливаются раньше чем достигнуто их количество, которое было указанно в пользовательском интерфейсе, и происходит переход к следующему набору выборок для рсссчёта цвета другого пикселя изображения. Это может значительно ускорить рендеринг, так как нет особого смысла в вычислении лишних выборок (которое может отнять довольно много времени при трассировке лучей), если эти выборки не вносят большой вклад в качество финального изображения.
Адаптивное семплирование в настоящее время используется на трех участках Blender Render:
Глянцевые отражения / преломления (Glossy reflection/refraction)
Метод пропускает расчёт новых выборок, если статистическая дисперсия значений цветов находится ниже указанного порогового значения.
Это наиболее эффективно работает в случаях, когда источник отражения / преломления имеет большие площади равномерного цвета, так как трассируемые выборки будут с подобными значениями, то их будет рассчитано меньше, а не полное количество, которое указано пользователем для вычисления финального цвета пикселя изображения.
далее...
Samovar:
Падающие тени методом трассировки лучей (Raytraced shadows)
Пропускает вычисление дополнительных выборок, когда определено, что пиксель находится полностью в тени или на свету, проверяя насколько выборка находится ниже порогового значения.
Это дает существенное улучшение скорости в большинстве случаев, но наиболее эффективно работает, когда есть большие площади полностью затененных или освещённых областей в сцене. То есть, когда освещение в сцене создаёт более резкие тени без широких мягких полутеней.
далее...
Навигация
Перейти к полной версии