 |
Руководство по YafaRay |
 |
Настройки рендеринга
Поле General Settings (Общие настройки)
Raydepth
Глубина проникновения луча. Означает то количество раз, которое луч, трассируемый из камеры может быть отражён от зеркальных поверхностей (типа shinydiffuse+mirror и glossy), а также сколько раз трассируемый луч может проникнуть через прозрачные поверхности (типа shinydiffuse+transparency и glass). Эта настройка регулирует степень переотражений зеркальными поверхностями, а также количество последовательных слоёв прозрачных материалов, сквозь которые проходит луч трассировки. Типичный артефакт недостаточности величины, это когда прозрачные или отражающие материалы рендерятся чёрными полностью или частично в тех местах, где этого не должно быть.
Shadow depth и
Transparent ShadowsОпции
Shadow depth и
Transparent Shadows работают одновременно.
Включение опции Transparent Shadows означает, что тени, производимые светопрозрачными объектами трассируются без учёта параметра IOR (Index Of Refraction). Также активация
Transparent Shadows означает, что активируется метод фильтрации света прозрачными материалами (shinydiffuse+transparency или glass), как альтернатива эффекту «честной» каустики, производимой GI- методами. Вообще в YafaRay есть два типа полностью прозрачных материалов не учитывающих в тенях значение коэффициента преломления:
•
Shinydiffuse с заданным значением
Transparency ≥0;
•
Glass с активированной кнопкой
Fake Shadows.
•
Shadow Depth - управляет количеством 'поддельных' прозрачных поверхностей, через которые могут проникнуть световые лучи.
Ниже на картинках — примеры использования прозрачности теней
Transparent Shadows+Shadow Depth и способы их регулирования, которые могут быть полезны. Во всех случаях используется метод Direct Lighting, хотя результаты применимы и к другим методам, имеющим трассировку лучей и каустики:
Случай 1
Здесь не применён никакой метод просчёта прозрачных теней или каустики от прозрачных мешей, поэтому преломление корректно просчитано первичными лучами трассировки, а вот теневые лучи просто «обходят» меш при трассировке до источников света, как будто он непрозрачен.
Случай 2
Фотоны каустики, испускаемые ИС Area, проходят сквозь объекты с IOR=1.55 вызывая построение прозрачных теней. Сферическая форма Сюзанны концентрирует поток фотонов, поэтому каустическая карта корректно строится однородным потоком фотонов небольшой плотности . Однако стекло призматической формы демонстрирует явные проблемы с плотностью карты, ибо не концентрирует фотонов. Иные плоскостные типы ИС (Sphere, Meshlight), а также фоновые ИС (HDR, IBL, Sunsky) также склонны к генерации подобного рода проблем.
Случай 3
Альтернативный способ с активированными кнопками
Fake Shadows и
Transparent Shadows с достаточным значением
Shadow Depth. Каустические фотоны не активны, поскольку прозрачные тени трассируются непосредственно теневыми лучами.
Теперь тень от листового стекла достоверно прозрачна и однородна, а вот тень от головы Сюзанны выглядит «ненастоящей».
Случай 4
Ещё один вариант. Теперь в качестве источника каустических фотонов используется точечный направленный источник света типа Spot (прожектор) вместо Area. Чем уже конус лучей прожектора, тем лучше, поскольку помогает сконцентрировать пучок фотонов. Отметьте хорошее качество прозрачных теней и каустики от обоих мешей. (В данном случае опции
Fake Shadows и
Transparent Shadows отключены, так что перед вами «реальное» стекло).
Случай 5
В этом случае используется материал типа
Shinydiffuse c заданным значением прозрачности (
Transparency). Каустические фотоны не активны, поскольку прозрачные тени трассируются непосредственно теневыми лучами. Конечно должна быть активирована кнопка
Transparent Shadows и установлено достаточное значение
Shadow Depth, чтобы теневые лучи трассировались сквозь прозрачные материалы к источникам света.
GammaВыходное значение гамма-коррекции (Gamma output). Обычно соответствует настройкам операционной системы. Windows калибруется со значением Gamma=2.2, а Linux и MacOs - Gamma=1.8.
G. InВходное значение гамма-коррекции (Gamma Input). Обратная гамма коррекция, производимая с текстурами, цветом шейдеров и источников света перед рендерингом (на входе). Таким образом движок рендеринга может производить линейное преобразование. Значение
G. In должно быть РАВНЫМ значению Gamma, если, конечно, вы не собираетесь специально использовать эффект гамма-коррекции.
Clamp RGBПри активации этой опции, глубина цвета сужается до низкого динамического диапазона (LDR – Low Dynamic Range) для более качественного просчёта сглаживания в контрастных областях. Например сглаживания видимого ИС типа Area и его отражений в зеркальных поверхностях. Пример ниже, выполненный sevontheweb, иллюстрирует разницу.
На верхнем снимке (
Clamp RGB отключён) явно видны проблемы со сглаживанием в контрастных областях, но цвета насыщенные. На нижнем снимке (
Clamp RGB включён) — сглаживание выглядит более качественным, но и насыщенность цвета пострадала:

Другие способы решить подобную проблему:
• Увеличить разрешение выводимого изображения до размера большего, чем необходимо, а потом уменьшить в растровом редакторе, используя качественный алгоритм интерполяции;
• Многопроходный рендеринг с последующим постпроцессингом.
Clay Render«Гипсовый рендеринг». Тестовый режим для настройки освещения. При активации этой кнопки производится временная отмена настроек всех материалов и замена их на белый диффузный материал.
ThreadsРендеринг — процесс, который легко делится на множество параллельных процессов. Большинство структурных вычислений при трассировке можно легко делить на множество потоков. Рендеринг — одна из немногих вычислительных задач, которые извлекают реальную пользу от использования многоядерных систем. И чем многоядернее система, тем лучше. Настройка
Threads позволяет разветвить рендеринг на определённое количество параллельных процессов для получения реальной выгоды по времени рендеринга. Значение следует выставлять, основываясь на спецификации вашего процессора.
Result to BlenderРезультат-в Blender. При активации этой кнопки после рендеринга изображение автоматически передаётся в редактор изображений (
UV/Image Editor) в Blender [
1]. Это даёт возможность сразу использовать отрендеренные изображения в редакторе нодов композиции [
2]. Используйте
Node Editor> Composite nodes> Add>Input> Image [
3]. И из раскрывающегося списка [
4] добавьте отрендеренное в YafaRay изображение:

Более подробная информация о нодах композиции тут:
http://wiki.blender.org/index.php/Doc:Manual/Composite_NodesAutosaveЭта кнопка активирует автосохранение результата в формате
.png с автоматическим именем (используется значение текущего времени суток), так что при повторном рендеринге изображения не переписываются. Изображения сохраняются в ту же папку, где расположен текущий blend-файл.
Alpha on autosave/anim (Альфа-канал при автосохранении/анимации)
Кадры анимации, запускаемые на рендеринг кнопкой
Render anim и автоматически сохраняемые с активированной кнопкой
Autosave, записываются в формате .png с RGB и альфа каналом вместо фона. В отличие от статического рендеринга кадры рендерятся в установленную в поле
Output папку (см. выше).
Draw render parametersЗаписывает основные параметры рендеринга в специальном поле на выводимом изображении (для сравнения результатов или для размещения на YafaRay-форумах).
Output to XMLЗаписывает данные сцены и параметры рендеринга в специальный формат YafaRay- XML. Файл размещается в ту же папку, где расположен текущий blend-файл.
AA settings
АА — antialiasing (сглаживание). Процесс сглаживания ошибок сэмплинга пикселей при рендеринге. Частое проявление таких ошибок — зазубренные контуры предметов на итоговом изображении. Наиболее подверженные этому места сцены:
• Геометрия объектов
• Очень мелкие детали
• Текстуры
• Видимые источники света
• Блики на блестящих объектах
• Зоны контраста между светлыми и тёмными объектами
• Чёткие тени
АА — связка методов сэмплинга и интерполяции, позволяющая минимизировать подобные артефакты.
AA passes: устанавливает количество проходов сглаживания
AA samples: количество сэмплов сглаживания ДЛЯ ПЕРВОГО ПРОХОДА
gauss,
mitchell,
box: устанавливает тип фильтра сглаживания
AA Pixelwidth: размер фильтра сглаживания
AA inc. samples: количество сэмплов сглаживания ДЛЯ ВТОРОГО И ПОСЛЕДУЮЩИХ ПРОХОДОВ из числа, установленных в
AA passesAA Threshold: Цветовой порог сглаживания для следующего прохода
Первый проход сглаживанияПри первом проходе лучом видимости из камеры трассируется каждый пиксель изображения и при рейтрейсинге из камеры трассируется то количество лучей на каждый пиксель изображения,которое указано в
AA samples. Эти так называемые первичные лучи трассируются из камеры до точки пересечения с какой-либо поверхностью. Эта точка пересечения — начало испускания нескольких типов вторичных лучей. Например,начало испускания теневых лучей сэмплинга площадных ИС или фона; вторичных пучков лучей для метода Path Tracing; пучков FG-лучей.

Таким образом чем выше значение AA samples, тем больше точек пересечения первичных лучей со сценой и соответственно точек начала испускания лучей сэмплинга теней, вторичных лучей Path Tracing и лучей Final Gather.То есть первый проход АА — не просто сглаживающая технология для устранения артефактов,но и действительно ещё и множитель сэмплинга для area, Path Tracing и Final Gather.Посмотрим на отличия ниже:

ИС на картинке выше слева —
Area с
samples=32, и значение
AA sample=1 (1х1х1). На картинке справа —
Area с
samples=1, и значение
AA sample=32 (1х32х1). Обратите внимание, что мягкие тени практически идентичны в обоих случаях.
Ведь количество вторичных лучей для сэмплирования Arealight идентично в обоих случаях, только достигается разными путями (см. рис. ниже).

Слева — от одного первичного луча генерируется три вторичных (в этом случае area sample=3; AA sample=1), а справа три первичных генерируют по одному вторичному каждый (в этом случае area sample=1; AA sample=3) Суммарное число лучей сэмплинга теней от area получается одинаковым в обоих случаях. Однако метод,представленный слева всё же предпочтительнее, так как более эффективный, менее шумный и более быстрый в плане времени рендеринга. Отметим, что если повышается значение АА для первого прохода, то количество сэмплов источников света, фона, Path Tracing и Final Gather может быть сокращено, чтобы достичь того же уровня шумоудаления, что и при низком значении АА sample.
Это справедливо для первого прохода АА, при котором сэмплируется каждый пиксель изображения. Ниже посмотрим пример с Final Gather и Pathtracing:

На картинке слева выше —FG sample=64; AA sample=1 (1х1х1); 74 сек. Справа - FG sample=1; AA sample=64 (1х64х1); 370 сек.

В заключение отметим, что в первом проходе эффективнее использовать большее количество сэмплов ИС, и невысокое
AASamples, нежели наоборот. То есть всегда стремитесь сохранять число
AASamples низким. А работу по сглаживанию и шумоудалению можно выполнить за счёт последующих адаптивных проходов.
Адаптивное сглаживание (Adaptive antialiasing)
Адаптивное сглаживание производится при втором и последующих проходах и основано на информации, считываемых со смежных пикселей отрендеренного изображения.
AA Treshold — параметр, задающий цветовой порог сглаживания. Это означает, что при сопоставлении цветовых значений соседних пикселей для следующего прохода сглаживания с помощью дополнительных сэмплов будут приниматься в расчёт только те из них, разница цвета у которых превышает установленный порог. То есть сглаживаться будут только определённые проблемные участки. Такую технику и называют адаптивным сглаживанием. Количество сэмплов для адаптивного сглаживания устанавливается параметром
AA inc. samples.
Если уменьшать значение
AA Treshold, то будет увеличиваться число областей сглаживания. Хорошо подобранным значением
AA Treshold можно сглаживать только нужные, проблемные участки, без необходимости тратить время на сглаживание всей картинки. Разумеется, при
AA Treshold=0 сглаживаться с дополнительным сэмплированием будут все пиксели изображения с каждым проходом.
При втором и следующих проходах на изображении генерируются белые точки, показывающие области дополнительного сэмплирования с установленным порогом.

Изображение слева выше — используется значение
AA Treshold=0.05 установленное в YafaRay по умолчанию. Белые точки показывают зоны ресэмплинга. Справа — значение порога уменьшено до
AA Treshold=0.01. Обратите внимание, что зоны ресэмплинга увеличились и находятся не только на геометрии, но и в зоне мягких теней от arealight . Это может позволить нам уменьшить количество сэмплов arealight или количество сэмплов для первого прохода и сократить время рендеринга не потеряв в качестве.
Фильтры сглаживанияПроцесс аппроксимации цвета пикселя исходя из информации о соседних может проводиться по разным алгоритмам. Алгоритм аппроксимации называется фильтром. В YafaRay их три —
box,
gauss,
mitchell Box: Эквивалентно усредняет информацию о всех соседних пикселях, поэтому быстр, но не всегда эффективен на некоторых видах шума. Может даже производить собственные артефакты пост-сглаживания.
Gauss: Сглаживание методом Гаусса. Даёт хорошие результаты. Склонен к некоторому «смазыванию» конечного изображения, но это смягчение помогает скрыть артефакты.
Mitchell: Сглаживание по алгоритму Митчелл-Нетравали (Mitchell-Netravali)
[Митчелл - Не трава ли? :)]. Даёт хорошие результаты. Увеличивает чёткость краёв при сглаживании,что улучшает чёткость всего изображения.
Размер фильтра
Пользователь может менять размер фильтра. То есть размер области (квадрата) интерполяции пикселей. Способ взаимодействия пикселей внутри области зависит от типа фильтра. Размер области регулируется настройкой
AA Pixelwidth. Уменьшение
AA Pixelwidth означает, что в область интерполяции включается меньше пикселей и результат будет чётче. Увеличение значения
AA Pixelwidth означает усреднение большего числа пикселей и результат будет более размытым.
Однако уменьшение размера фильтра делает его менее эффективным для сглаживания и борьбы с шумом. Поэтому в таких случаях не следует делать размер фильтра слишком малым.
AA Pixelwidth=2,5. 49 сек; AA Pixelwidth=1,5. 54 сек; AA Pixelwidth=1,1. 82 секСтратегии сглаживанияИсходя из вышеизложенного можно определить пошаговую стратегию эффективного сглаживания:
• Значительную часть шумоудаления, особенно низкоконтрастного шума в тёмных областях, лучше производить при первом проходе сэмплового сглаживания за счёт сэмплирования источников света (площадных или фона) и сэмплирования алгоритмов непрямого освещения (FG или Pathtracing). Таким образом базовое шумоудаление на изображении может быть достигнуто при невысоких значениях
AASamples= (1-3).
• Значительная часть сглаживания выполняется адаптивным способом при втором и последующих проходах, используя значение порога AAThreshold, чтобы определить области пиксельного сэмплирования. Адаптивное сглаживание также способно достаточно эффективно бороться с высококонтрастным шумом, в тенях от площадных ИС и зонах с непрямым освещением. Особенно эффективно адаптивное сглаживание, если осуществляется в несколько проходов. Поскольку многие зоны уже сглаживаются в пределах установленного порога, то последующие проходы осуществляются, обычно, быстрее.
• Хорошая идея выставлять настройки адаптивного сглаживания по формуле:
AA inc samples = AAsamples x суммарное кол-во сэмплов ИС• Если значение порога низкое -
AAThreshold=0.005 и меньше, то рациональнее использовать большое количество проходов
AAPasses со значением
AA inc samples=1. То есть если исходному пикселю необходимо 6 сэмплов, чтобы достигнуть требуемого качества интерполяции и мы используем
AA inc samples=5, то это означает, что требуемого качества мы достигнем в двух проходах, но для сглаживания будет использоваться уже 10 пикселей. Однако если установить
AA inc samples=1, то требуемого качества интерполяции в 6 пикселей можно добиться, установив количество проходов
AAPasses=6.
