Методы антиалиасинга V-Ray Fixed image sampler, Adaptive DMC image sampler и Adaptive subdivision image sampler
При выборе одного из алгоритмов антиалиасинга появляется дополнительный свиток с его параметрами, это V-Ray:: Fixed image sampler, V-Ray:: Adaptive DMC image sampler и V-Ray:: Adaptive subdivision image sampler, соответственно.
Fixed - это самый просто алгоритм, который грубо выбирает цветовые образцы в зависимости от цвета субпикселей, без какой либо адаптивности. Eго единственный параметр это Subdivs и определяет количество субделений пикселя, определяющих итоговый цвет пикселя. Количество используемых субпикселей равно квадрату значения Subdivs. Fixed rate sampler - это грубая сила, не имеющая адаптивности при вычислении количества субпикселей, необходимых для формирования цветов пикселей. Данный алгоритм просчитывает каждый случай антиалиасинга с одинаковой тщательностью, не зависимо от условий. Поэтому этот алгоритм стоит применять лишь в особых случаях, когда в сцене множество DOF, blur эффектов, высокодетализированных текстур и мелких деталей, на которых появляются артефакты, от которых нельзя избавиться никаким иным способом. Иногда бывает так, что просчет адаптивности другими алгоритмами может занять больше времени, чем просчет фиксированным значением. Однако, в остальных случаях, за отсутствие приспособления к условиям, придется заплатить большим временем рендеринга.
AdaptiveDMC - по сути это тот же Fixed, только с адаптивностью. Суть его адаптивности заключается в автоматическом определении нужного числа субпикселей для каждого пикселя отдельно, а не использование фиксированного значения для всех пикселей изображения, как в случае с Fixed rate sampler.
Необходимое количество субпикселей, по умолчанию, выбирается на основании параметров, заданных в свитке V-Ray:: DMC Sampler. Или же на основании параметра Clr tresh, при неотмеченном чекбоксе Use DMC sampler thresh. Чем меньше значение Clr tresh параметра, тем ниже адаптивность, выше качество антиалиасинга и больше время просчета. Параметры Min subdivs и Max subdivs определяют минимальное и максимальное число субделений каждого пикселя соответственно, в зависимости от требуемой величины адаптивности.
Adaptive DMC sampler стоит применять в тех же случаях, что и Fixed, но когда в сцене меньше проблемных деталей. Это позволит сэкономить время рендеринга при том же уровне качества, что и при фиксированном количестве субпикселей. В некоторых случаях Adaptive DMC sampler оказывается даже быстрее более технологичного Adaptive subdivision sampler, о котором пойдет речь немного дальше. Например, в некоторых сценах с Motion blur, однако, это справедливо не для всех сцен и выявить эту выгоду можно лишь экспериментально. Такие эксперименты по смене алгоритма и подбору оптимального варианта будут оправданны лишь для настройки многокадровой анимации, где каждая дополнительная минута просчета каждого кадра может вылиться в часы и даже дни.
Adaptive subdivision - наиболее продвинутый адаптивный алгоритм антиалиасинга в V-Ray. Его основное отличие от Adaptive DMC алгоритма, это возможность использования не только суперсэмплирования, но и субсэмплирования на маловажных участках генерируемого изображения, тем самым экономя львиную долю вычислительного времени. Минимальное и максимальное значение субсэмплирования и суперсэмплирования определяют значения Min. rate и Max. rate. Этими значениями определяется количество сэмплов, т.е. образцов цвета, используемых для определения цвета получаемых пикселей. В частности, если значение rate равняется -1, то это значит, что для вычисления цвета четырех(!) соседних пикселей используется один сэмпл. Значение 0 означает, что для каждого пикселя используется один сэмпл, а значение rate, равное 1, означает то, что для определения цвета одного пикселя используются четыре сэмпла и т.д. Говоря математически, значение rate - это степень числа 4 в конечном количестве субпикселей-образцов цвета конкретного пикселя растрируемых векторных фигур 3d сцены. Как и в Adaptive DMC sampler, за автоматический выбор нужного значения Min. rate и Max. rate отвечает Color thresh. параметр.
Еще одной отличительной особенностью от Adaptive DMC sampler является наличие дополнительных параметров, контролирующих автоматический выбор нужного значения Min. rate и Max. rate. Это Object outline и Nrm tresh. Где Object outline контролирует качество антиалиасинга на границах объекта, а именно - использует максимальное суперсэмплинговое значение Max. rate., а Nrm tresh. увеличивает качество сэмплирования внутри объектов, в зависимости от вариации направлений соседних нормалей, то есть на мелких и резких деталях внутри объекта.
Функция Randomize samples позволяет изменять расположение выборок образцов антиалиасинга. Номинально они располагаются по строгому сеткообразному узору. При сглаживании горизонтальных или почти горизонтальных, а также вертикальных или почти вертикальных линий на визуализации, строгое периодическое расположение выборок образцов цвета может привести к появлению паразитных ровных или ступенькообразных полос. Чтобы избежать появления этих артефактов, иногда полезно делать выборку цветовых образцов слегка хаотичной, именно для этого и предназначен параметр Randomize samples. Наглядные примеры того, как ведет себя рендер-движок с включенной и выключенной функцией Randomize samples, Вы можете посмотреть Image samplers examples: Randomized antialiasing .
Опцию Randomize samples в универсальных настройках V-Ray следует оставлять активной.
Дополнительную информацию о назначении различных параметров Image Sampler (Antialiasing) читайте всоответствующем разделе V-Ray Help
.Adaptive subdivision sampler является наиболее гибким, наиболее технологичным алгоритмом антиалиаcинга, применяемым в V-Ray. Именно он дает наибольшую скорость вычислений при наилучшем качестве получаемого изображения. Именно его стоит использовать как AA (AntiAliasing) алгоритм по умолчанию в универсальных настройках V-Ray. Лишь только при наличии, не устранимых другими способами, артефактов на мелких деталях следует использовать менее адаптивный и менее гибкий Adaptive DMC или даже грубый Fixed алгоритм.
Несмотря на наличие специальных алгоритмов, уменьшающих эффект алиасинга, на практике самым выгодным и рациональным является НЕ увеличение числа субпикселей путем банального накручивания высоких настроек AA, а уменьшение алиасинга, путем увеличения разрешения финального изображения и используя слабый AA. Суть этой хитрости состоит в том, что при увеличении разрешения уменьшаются относительные зубцы алиасинга, при этом также присутствует и небольшой AA. Большое разрешение и небольшой AA в сумме дают превосходный результат, значительно превосходящий тот, который можно получить просто завысив параметры AA. Но самое интересное в том, что просчет в высоком разрешении, хотя бы в полтора раза большем чем требуемое, займет меньше времени, чем просчет изображения этого же качества, но изначально с требуемым разрешением и завышенными настройками AA.
Именно такими подходящими значениями Adaptive subdivision sampler являются те, которые установлены в нем по умолчанию. И именно поэтому в универсальных стартовых настройках V-Ray их не стоит менять, завышая либо занижая, а следует оставить такими, какие они есть изначально.
Фильтры антиалиасинга
Еще одним важным параметром Image Sampler является фильтр антиалиасинга, именно его можно выбрать разделе Antialiasing filter, свитка V-Ray:: Image sampler (Antialiasing).
V-Ray рендерер поддерживает почти все стандартные фильтры 3ds Max.
Когда Image Sampler высчитал нужное количество субпикселей, следующий процесс - это преобразование их информации в пиксели. Цвет пикселей может формироваться сразу же получением усредненного цвета из всех образцов, относящихся к конкретному пикселю или фильтроваться специальным алгоритмом, вносящим те или иные корректировки в формирование цвета пикселей из субпикселей. Именно этими алгоритмами являются фильтры антиалиасинга.
Для выбора одного из фильтров достаточно отметить чекбокс On и выбрать из выпадающего списка необходимый фильтр АА.
3ds Max имеет множество фильтров с разными алгоритмами. Наиболее популярные и даже вызывающие холивары среди начинающих и даже опытных визуализаторов, это Catmull-Rom и Mitchell-Netravali, названных в честь разработчиков их алгоритмов.
Эти войны не утихают и по сей день, разжигая ярые споры какой же все-таки фильтр лучше и какой из низ следует применять для своих визуализаций.
С применением Catmull-Rom или Mitchell-Netravali получаемое изображение становится немого четче, как бы наводя на него резкость.
Например, фильтр Catmull-Rom делает очень резкие края объектов, иногда улучшая таким образом общий вид визуализации, однако при этом значительно не затрагивая их внутренние части.
Таким образом, при желании навести резкость, например в Photoshop, на всё изображение, в том числе и на внутренние части объектов, а не только на его края, могут возникнуть нежелательные артефакты, в виде сверхрезких границ объектов, которые будут смотреться неестественно и некрасиво.
Еще одна весьма существенная проблема AA фильтров, это то, что они работают только в RGB пространстве, не умея правильно производить растеризацию при HDR-рендеринге. Производя вычисления цветов пикселей из субпиксельной информации с плавающей запятой, возникают ошибки вычислений в виде отвратительных артефактов. Особенно отчетливо они видны на границах ярких объектов, например объектов с материалами VRayLightMtl или видимых источниках света, например VRayLight, а еще, что более удручающе - на отражениях этих ярких источников света на отражающих материалах, в виде четких черных границ вокруг яркого отражения.
Внимательно посмотрите на изображение глаза этой лягушки (да, это лягушка :) ), слева представлена визуализация, выполненная без применения фильтра AA, посередине - с AA фильтром Catmull-Rom и справа - с AA фильтром Mitchell-Netravali. Зеленая часть объекта - обыкновенный VRayMtl, желтая - яркий VRayLightMtl. Левое изображение выглядит слегка размытым, но без каких-либо нежелательных артефактов. Легкая размытость левого изображения элементарно устранится наведением резкости в Photoshop. В то же время, на среднем и правом изображении отчетливо видна резкая граница в виде страшного разноцветного артефакта между зеленым и желтым материалами. Этот недостаток не устраняется, разе что долгой и нудной ретушью в 2d редакторе, но... зачем?
Применение фильтров AA очень сокращает свободу постобработки полученного изображения, лишая возможности качественно навести резкость нужной величины вручную.
Кроме того, фильтры, наводящие резкость на границы объектов, очень усиливают паразитный эффект муара, даже при высоких настройках Image sampler.
Именно по этим причинам не стоит применять AA фильтры вообще. Лишь в некоторых случаях, например, в анимации, когда нет возможности наводить резкость на каждый из сотни кадров в ручную, использование AA фильтров оправданно.
В универсальных настройках, V-ray фильтр антиалиасинга следует полностью отключать.
Свиток V-Ray Environment
Следующий на очереди, это свиток V-Ray:: Environment.
В этом свитке находятся важные для визуализации параметры, позволяющие осуществлять подмену GI свечения окружающей среды, подмену отражения/преломления, и отдельно подмену преломления. Это параметры GI Environment (skylight) override, Reflection/refraction environment override и Refraction environment override соответственно.
Суть этих параметров в том, что при необходимости, можно в соответствующий слот вложить нужную карту или указать нужный цвет, подменив тем самым карту или цвет, находящийся в стандартном меню 3ds Max Environment and Effects.
Предположим, необходимо визуализировать автомобиль в экстерьерной сцене и Вы хотите, чтобы на его корпусе отражались облака или дома. Все что Вам нужно, это вложить в слот Reflection/refraction environment override соответствующую сферическую или кубическую карту с нужным изображением и оно будет отражено на корпусе, а точнее - на всех отражающих материалах, автомобиля. Более подробную информацию о панорамных и кубических картах читайте в уроке Создание виртуальной 360 Панорамы.
То же самое можно сделать и с глобальным освещением сцены.
Глобальным светом может быть как просто заполняющее освещение одного сплошного цвета, так и растровая RGB или HDR карта.
Как бы там ни было, это - особенности конкретной сцены и задач, стоящих перед ее создателем, поэтому все параметры этого свитка в универсальных настройках V-Ray следует оставить нетронутыми и изменять лишь в конкретном случае, при возникновении особой необходимости.