ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 19.05.2024
Просмотров: 56
Скачиваний: 0
Image Sampler.
Находится в закладке VRay в свитке Image Sampler (Antialiasing), по умолчанию выбран Adaptive Subdivision (адаптивное разбиение). Два других варианта Fixed и Adaptive DMC. Настройки Image Sampler Расположены в отдельном свитке. При этом если изменить Adaptive Subdivision например на Adaptive DMC, то название свитка с настройками изменится аналогично.
В сильно упрощённом виде: чтобы рассчитать цвет одного пиксела, компьютер рассчитывает, какого цвета объект находится на месте этого пиксела. Но, допустим, на месте одного пиксела находятся два объекта разного цвета. Тогда для реалистичности надо рассчитать два цвета, а результирующим цветом будет смешение этих двух. А если ещё больше цветов попадут на один пиксел? Для решения этого вопроса используется метод Image Sampler. Например, фиксированный метод (Fixed) разбивает каждый пиксел на заданное количество частей, считает цвет в каждой из них и результирующий цвет - среднее аримфетическое этих цветов. Adaptive Subdivision и Adaptive DMC - так называемые адаптивные сэмплеры. То есть если на пиксел приходится большая одноцветная поверхность, то они не будут разбивать пиксел на много мелких частей, а если встретят мелкие детали, то будут. В этом они отличаются от Fixed, который разбивает пикселы на более мелкие части независимо от того, какие объекты туда попадают. В общем и целом, если у вас в сцене есть много мелких деталей и(или) эффекты размытости такие как размытые отражения (reflection glossiness) или глубина резкости, то лучше выбирать Adaptive DMC. Кроме того, он требует меньше оперативной памяти. Обычно для интерьеров он предпочтительнее, потому что размытые отражения на материалах мебели или паркета - обычная вещь. Чтобы лучше понять, как работает Image Sampler, возьмём картинку с большим количеством мелких деталей (но пока что без отражений). Картинка посчитана Adaptive DMC с настройками по умолчанию.
Посчитаем ту же картинку с Adaptive Subdivision также с настройками по умолчанию (то есть так, как настройки выставлены, если просто поменять рендер на VRay).
Разница в скорости ощутимая: 27 секунд против 18, поэтому рассмотрим, почему второй метод оказался почти в полтора раза быстрее.
Разница именно в том, что у нас исчезли мелкие детали. Но не совсем правильно говорить, что сэмплер хуже, просто у него есть настройки, которые можно менять. Посмотрим на настройки Adaptive Image Sampler в свитке Adaptive Subdivision Image Sampler. Там есть параметры Min Rate и Max Rate, которые по умолчанию установлены -1 и 2, увеличивая эти значения, мы улучшаем качество мелких деталей. Чем больше цифры, тем лучше качество. При значениях Min rate:0 и Max rate:3 мы получаем вполне сопоставимое с Adaptive DMC качество. Но и время рендера получается практически таким же. Кроме этого надо учитывать ещё один момент - если рендерить картинку не 640*480, как в этом примере, а в большом размере, то и мелких деталей будет "пропадать" меньше, потому что на большом формате они станут занимать больше пикселей.
У Adaptive DMC Sampler тоже есть настройки. Только вместо Min rate и Max rate качеством управляют Min subdivs. и Max subdivs. По умолчанию выставлены значения 1 и 4.
Цифры 1 и 4 неплохо подходят для рендера. Эти числа в квадрате - значения, на сколько частей будет разбиваться пиксел. То есть минимум - это 1 в квадрате=1 (пиксел не разбивается), а максимум - это 4 в квадрате =16 (пиксел разбивается на 16 частей, рассчитывается яркость каждой части, потом высчитывается среднее значение). Хотя для более качественного рендера вторую цифру можно увеличить и не обязательно, что это сильно скажется на скорости. Некоторые ставят там 100, и на скорость это особо не влияет, потому что очень мала вероятность того, что попадётся пиксел, который придётся разбить на 10000 кусочков. Конечно, если вы хотите увеличить скорость рендера, то вторую цифру можно уменьшить. Это может пригодиться например, пока вы настраиваете свет в сцене и хотите быстрее видеть результат. Не надо также думать, что увеличение этих цифр, особенно первой, много даст (кроме увеличения времени рендера). Зачастую результат можно будет реально увидеть, только если сравнить две картинки.
Sub-pixel Mapping и Clamp Output.
Эти два параметра находятся настройках в закладке VRay в свитке Color Mapping.
Некоторые их всё время включают, другие, наоборот, всё время выключают. Чаще всего две этих галочки рекомендуют включать, есть у вас на рендере появляются отдельные "засвеченные" пикселы. Но неплохо бы узнать, что же делают зти галочки. Цвет картинки при расчёте не просто варьируется от чёрного до белого. Например, лампочки "белее", чем просто "белый цвет" (поэтому от них и отражение сильнее). Представим это так: чёрный цвет:0, белый цвет:1. Соответственно, серый будет 0.5, и вообще градации цвета идут от 0 до 1. Светящиеся объекты имеют яркость больше 1. На рендере они будут показываться белым, но "внутри" компьютер будет знать, что они ярче. Простой пример - небо. Компьютер "знает", что небо синее, но его яркость больше 1 и на рендере небо получается белым. И есть под этим небом объект со слабо отражающим материалом. Компьютер берёт цвет неба, ослабляет его для отражения и оказывается, что в отражении цвет неба уже меньше 1 и в отражении видно, что небо синее. Clamp Output "срезает" в итоговом изображении на рендере цвета ярче заданного уровня (по умолчанию 1.0 - цифра справа от Clamp Output под названием Clamp Level). Если просто поставить галочку Clamp Output, то разницы особо не видно. Но, чтобы понять, что же это такое, можно уменьшить Clamp Level. Например, поставив Clamp Level 0.5, мы на финальном рендере "срежем" все цвета ярче серого.
(Примечание: почему плоскость, на которой стоит чайник, получилась пятнистой и как от этого избавляться, будет рассмотрено в разделе про отражённый свет Indirect Illumination) Хотя пока что ещё неясно, зачем нам нужны такие эффекты. Тем более, что по умолчанию Clamp Level стоит 1.0, то есть он "срезает" любой засвет до белого цвета, но засветы на рендере и так показываются белым. Сначала надо разобраться, что же делает вторая интересующая нас галочка Sub-pixel Mapping. Как мы знаем (или подразумевается, что мы знаем), при расчёте цвета пиксела он разбивается на более мелкие части. Представим себе, что пиксел разбили на 4 части, посчитали цвет в каждой из них, а потом показали усреднённый цвет. Но мы работаем в гамме 2.2, поэтому к итоговому рассчитанному пикселу применили цветокоррекцию под гамму 2.2. Теперь включаем галочку Sub-pixel Mapping. Пиксел так же разбивается на 4 части, считается цвет в каждой из них, после чего к каждому посчитанному кусочку применяется гамму 2.2, и только после этого считается усреднённый цвет. То есть без галочки Sub-pixel Mapping цветокоррекция применяется к итоговому пикселу, а при включённой галочке цветокоррекция применяется к каждому "кусочку" пиксела, и только потом считается итоговый цвет. Теперь, когда вероятный читатель уже начал ломать свой мозг, пытаясь понять, как же это применять, время показать на практике, как оно работает. Если у нас вообще нет цветокоррекции, то есть стоит гамма 1.0 и в свитке Color Mapping выбран Linear Multiply с параметрами Multiplier по 1, то разницы практически не будет.
В самом деле, какая разница, в каком порядке применять цветокоррекцию, если цветокоррекции нет? Поэтому вместе с галочкой Sub-pixel Mapping поставим ещё и галочку Clamp Output. Многие знают, что если на рендере появляются отдельные "засвеченные" пикселы, то две эти галочки помогают. Но вот почему? Предположим, у нас есть пиксел, разбитый на 4 части. При расчёте в трёх частях яркость 0.5 (серый цвет), а в четвёртой 2.5 (например, отражение лампочки).
С отключённой галочкой Sub-pixel Mapping компьютер "считает": посчитать все значения, потом сложить их, разделить на количество частей: (0.5+0.5+0.5+2.5)/4=1 и применить Clamp Output: срезать весь цвет ярче 1. Но цвет и так 1, так что итоговым цветом получаем 1.0 (белый). Теперь включаем галочку Sub-pixel Mapping. Компьютер посчитал все четыре значения и ТУТ ЖЕ применил к ним Clamp Output. В результате значение 2.5 "срезалось" до 1.
И уже после этого компьютер считает итоговый цвет: складывает все значения и делит на количество частей: (0.5+0.5+0.5+1.0)/4=0.625 То есть получаем светло-серый цвет. На первый взгляд, из этого примера получается, что реалистичному цвету наступает капут: разница в яркости почти в четверть от нужного - это много. Но не надо забывать, что это просто пример. В реальности галочки Sub-pixel Mapping и Clamp Output чаще всего приглушают отражения, делают их более сглаженными. При этом сам по себе Clamp Output практически не влияет на результат, а вот в сочетании с Sub-pixel Mapping он "глушит" засвеченные пикселы со страшной силой (и теперь мы знаем, почему так происходит).
Собственно, минусы установки этих двух галочек вытекают из их плюсов: они "глушат" яркие отражения там, где отражения должны быть. Но вот вопрос что нам важнее - немного больше реализма или немного больше "красивости" решается отдельно для каждого случая. В общем-то, если мы хотим больше реализма, но нам не нравятся отдельные "неправильные" засветы, то вместо этих галочек можно просто поставить повыше качество в Adaptive DMC. То есть представим себе, что пиксел в нашем примере бьётся не на 4 части, а, например, на 64. В этом случае у нас невозможен вариант когда у рядом стоящих частей такая большая разница в яркости. Конечно, тогда возникает вопрос, готовы ли мы к увеличению времени рендера в несколько раз. Если изначальная картинка считается 5 минут, то полчаса за более реалистичные отражения - это немного. А вот если у нас интерьер, которые считается час? Для примера сравним три картинки: первая без коррекции, вторая с двумя галочками (Sub-pixel Mapping и Clamp Output), третья без коррекции, но в настройках Adaptive DMC оба min и мах subdivs поставлены по 10 (каждый пиксел независимо от того, какие объекты в него попали, разбивается на 100 частей).
Как видим, в первом случае есть отдельные яркие пикселы, во втором случае уменьшаются отражения на некоторых кромках, а в третьем случае всё красиво, но считает раз в десять дольше. И, прежде чем делать окончательные выводы, вспомним, что рассматривать картинку при большом увеличении - это хорошо теоретически, но работу будут принимать глядя на картинку целиком. Две картинки: первая с выключенными галочками Sub-pixel Mapping и Clamp Output, вторая с включёнными:
Если присмотреться, то видно, что на второй картинке исчезли некоторые засвеченные пикселы и отражения стали чуть темнее, но я бы не сказал, что общий результат сильно изменился. Лично я обычно включаю обе галочки. Пусть отражения чуть менее яркие, но зато и засвеченных пикселов нет.