Антиалиасинг в V-Ray

Поговорим о процессе, который называют «антиалиасинг» (Antialiasing) или Image Sampling, или Supersampling, что в первом приближении можно определить как синоним первому.

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

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

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

Рендеринг без антиалиасинга — здесь все просто, из камеры испускается один луч по центру пикселя. Какой «цвет» на пути оказался — такой и запишется в окончательный пиксель.

Фиксированный антиалиасинг — в каждый пиксель испускается не один, а несколько (в данном случае пять) лучей, возвращаемое значение которых усредняется. Этот метод позволяет получать самый точный результат, но при этом лучей должно быть очень много (около 20-ти), что сказывается на времени рендеринга не в лучшую сторону. Этот метод, как правило, самый медленный за исключением особых случаев, например, при большом количестве мелких деталей, мелкого бампа (имитации шероховатости, bump) и т. д. этот метод может быть быстрее адаптивных, т. к. не затрачивается время на вычисление условий.

 

Адаптивный антиалиасинг — в пиксель изначально испускается несколько лучей, в данном случае 4 (помечены цифрой 1). В том случае, если разность между результатами меньше установленного порога, то значение усредняется и происходит переход к следующему пикселю. Если между какими-либо лучами разница превышает порог, то запускается процесс дополнительного уточнения (лучи 2 и 3), и так до тех пор, пока не будет выполнено условие, заданное порогом, либо не будет достигнута максимальная глубина вложенности.

 

Адаптивный антиалиасинг хорошо работает на локальных сценах, т. к. при равномерном фоне и небольших по контрастности переходах большая часть картинки просчитывается очень быстро. Кроме того, адаптивный антиалиасинг позволяет для быстрого пробного расчета использовать загрубленные настройки, или Undersampling. При этом процессе сравнение с пороговым значением выполняется не в каждом пикселе, а через несколько пикселей.

А вот на сложных сценах с большим количеством мелких деталей, например, когда создается текстура с мелким (соизмеримым с пикселем окончательного изображения) шумом, адаптивный антиалиасинг может проигрывать фиксированному по скорости. В этом случае приходится в каждом пикселе уходить на самый глубокий уровень вложенности, при этом постоянно делая проверку условий.

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

Рассмотрим теперь, как настроить антиалиасинг непосредственно в V-Ray.

Свиток VRay:: Image sampler (Antialiasing) (VRay:: образец изображения (сглаживание)) содержит инструменты для сглаживания изображения.

На этих параметрах остановимся подробнее. Визуализатор V-Ray содержит несколько алгоритмов сглаживания изображения:

□          Fixed (Постоянное количество, простой одноуровневый) — самый простой способ сглаживания. У него есть всего один параметр — Subdivs (Разбиение), который разбивает каждый пиксель на указанное количество полусфер (образцов), чтобы потом пропустить сквозь каждую сферу такое же количество лучей света (сэмплы). Другими словами, количество лучей, попадающих в пиксель равно значению Subdivs в квадрате. При 1 получим изображение без антиалиасинга, при 2 будет испущено 4 луча в каждый пиксель, 3 – 9 и т.д. Естественно, чем больше количество таких образцов, тем больше лучей и тем лучше качество изображения, но при этом сильно замедляется процесс рендеринга. Этот алгоритм прост и иногда, например, в случае большого количества мелких деталей и текстур, дает результат того же качества, что и адаптивные, но при этом быстрее...

На этом рендере, который выполнен без всякого антиалиасинга, можно заметить эту самую ступенчатость на отмеченных участках. По большому счету эта сцена насыщена всевозможными кривыми: это и текстуры, и объекты, и светотени. Поменяем настройки фиксированного метода и поставим Subdivs = 4, т.е. в каждый пиксель будет засылаться 16 сэмплов (лучей). Рендерим

Естественно, что ступенчатость пропала, т.е. антиалиасинг сработал. Но вот время... Обратите внимание, как увеличилось время рендера. Более, чем в 2 раза!

□          Adaptive DMC (Простой двухуровневый) — немного сложнее первого варианта, так как разбиение проводит в два этапа: на первом этапе каждый пиксель разбивается на образцы-полусферы (сэмплинг, Min subdivs), затем сравнивает эти образцы с соседними, и если они по интенсивности сильно отличаются, то на втором этапе делит их еще на более мелкие образцы-полусферы (суперсэмплинг, Max subdivs). Таким образом, достигается лучшее качество, но опять же за счет скорости визуализации. Два этапа — два главных параметра, на которые нужно обратить внимание:

  • Min subdivs (Основное разбиение) — сэмплинг;
  • Max subdivs (Улучшенное разбиение) — суперсэмплинг.

Сравните соотношение скорости при использовании Fixed rate и Adaptive QMC, если настроить одинаковый по качеству результат визуализации и взять довольно простую сцену.

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

Итак, два параметра, Min subdivs и Max subdivs (минимальное и максимальное разбиение) определяют начальное и максимальное количество лучей, испускаемых в один пиксель. После усреднения значение сравнивается с соседними пикселями, и если оно выше значения порога срабатывания, то процесс испускания лучей продолжается. Посмотрим рендер с параметрами ¼

Мы действительно получили такой же результат, как и при рендере фиксированным методом с Subdivs = 4, но значительно выиграли во времени! Произошло это потому, что не в каждом пикселе V-Ray считал 16 сэмплов, а только в тех участках, где были не горизонтальные и не вертикальные линии. А в остальных участках — по одному сэмплу на пиксель.

Еще один параметр этого метода — порог срабатывания (Color Threshold — Cls thresh) no умолчанию завязан на аналогичный параметр в DMC Sampler (об этом далее). Это разумное решение, но если необходимо увеличить качество антиалиасинга, не затрагивая остальные процессы, то можно снять флажок Use DMC sampler thresh, и настроить порог срабатывания индивидуально.

Для тестового (чернового) рендера вполне достаточно значений Min subdivs и Max subdivs по умолчанию. Для окончательного (чистового) рендера можно увеличить значение Max subdivs до 8 — 16. Но все это очень сильно зависит от сцены, иногда значений по умолчанию бывает вполне достаточно.

□          Adaptive subdivision (Адаптированное разбиение) использует андерсэмплинг (undersampling — взятие одного образца не с каждого пикcела, а сразу с нескольких). Если первые два все честно просчитывают, то этот можно назвать «хитрым» способом, так как некоторые уловки при выборке образцов андерсемплинга позволяют ему сделать так же быстро и качественно то, что первые два будут честно просчитывать. Вероятно, поэтому его считают наиболее продвинутым. У него тоже имеется два особых параметра:

  • Min. rate (Минимальный показатель) — минимальное количество образцов на пиксель. 0 — один образец на пиксель; -1 — один образец каждые два пиксела; -2 — один образец каждые четыре пикселя и т. д.
  • Max. rate (Максимальный показатель) — максимальное количество образцов на пиксель. 0 — один образец на пиксель; 1 — четыре образца; 2 — восемь образцов и т. д.

Под свитком VRay:: Image sampler (Antialiasing) (VRay:: образец изображения (сглаживание)) находится свиток настроек сглаживания выбранного типа.

В данном случае установки параметров означают, что в участках, где нет наклонных и кривых линий (т.е.  одинаково окрашенных и освещенных пространств) один сэмпл (луч) будет рассчитываться сразу для 4-х пикселей. Явный выигрыш во времени рендера! А в критических участках — для одного пикселя будет считаться четыре сэмпла.

ЕСли учесть, что наш пример насыщен текстурами, переходами света и тени, то вряд ли мы получим выигрыш во времени. Может даже наоборот! Методу придется тратить значительное время на анализ практически всех участков. Давайте проверим.

Так и есть. Время рендера меньше, чем у фиксированного метода, но больше, чем у Adaptive DMC. Причина была указана выше.

Метод имеет еще некоторые параметры. Кроме порога по цвету (Color Threshold — Clr thresh), имеется дополнительный параметр— порог срабатывания по разности нормалей между поверхностями (Normal Threshold — Nrm thresh), который может помочь при рендеринге неконтрастных по цвету изображений. Принцип тот же самый — чем меньше пороги, тем чаще запускается процесс уточнения, и заканчивается либо при достижении пороговых значений, либо значения Max. rate.

Флажок Object outline (обводить объекты) всегда запускает антиалиасинг с максимальным числом лучей на границах объектов. Применение этого эффекта требует осторожности, т. к. результат не всегда выглядит натурально.

Флажок Randomize samples (случайное распределение образцов) добавляет неравномерность в антиалиасинг, делает картинку более живой и позволяет избежать исчезновения тонких линий и ступенчатости почти вертикальных и горизонтальных линий.

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

Вывод: Для интерьерной визуализации наиболее подходящим методом антиалиасинга является метод Adaptive DMC с настройками, указанными выше.

Вот, собственно, и все. Надеюсь Вам было понятно. Быстрых и чистых Вам рендеров!

 


Хотите узнать больше?

vray-bonus-300«V-Ray. Основы визуализация»

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

Кликните здесь, чтобы узнать подробнее

 

«V-Ray. Материалы»

Курс состоит из трех дисков DVD и направлен на изучение материалов V-Ray. Понимание логики и пошаговый процесс создания материалов — отличительные особенности этого курса. От простых до самых сложных материалов. После прохождения курса не останется ничего неизвестного и непонятного в создании и редактировании материалов. Вы сможете создать любой материал V-Ray для интерьерных и экстерьерных сцен.

Кликните здесь, чтобы узнать подробнее

«V-Ray. Игры со светом»

Этот видеокурс посвящен созданию и настройке освещения при визуализации в V-Ray отдельных предметов и интерьерных сцен.
Этап освещения не менее важен при выполнении визуализации, чем моделирование или создание материалов. Неграмотно выставленным светом можно «убить» самую замечательную сцену и наборот. Правильное освещение позволяет скрыть огрехи и ошибки и моделирования, и текстурирования.
В представленном курсе рассматриваются вопросы и варианты освещения при выполнении предметной и интерьерной визуализации.
Кликните здесь, чтобы узнать подробнее


Один комментарий

  • sabir

    10 июля 2012

    ya xacu poblaqadarit vam za vse urokov umenya nastrayeniye podnyalos day Allax pomojet vam suvajeniem sabir.

    Ответить

Оставить комментарий