Примеры использования сэмплера изображений |
Пример 1: Что такое antialiasing (антиалиазинг)?
Пример 2: Сравнение сэмплеров изображения
Пример 3: Другое сравнение сэмплеров изображения
Пример 4: Еще одно сравнение сэмплеров изображения
Пример 6: Сглаживание, основанное на G-буфере
Пример 7: Рандомизированное сглаживание
Пример 9: Фильтры сглаживания и эффект муара
Antialiasing (= anti-aliasing) — фильтрация-сглаживание; построение плавной, бесступенчатой кривой или прямой по точкам или элементам изображения; алгоритм растровой машинной графики в компьютерной графике - автоматическое удаление ступенчатости изображений линий, кривых или окружностей, вызванное недостаточной разрешающей способностью экрана. (прим. перев.)
Следующие примеры показывают основные различия между изображениями со сглаживанием и без него:
Без сглаживания (Fixed rate sampler, 1 subdiv) Со сглаживанием (Adaptive subdivision sampler, rate -1/2)На левом изображении край сферы рваный, тогда как на правом - сглаженный. Ниже - увеличенные фрагменты двух изображений:
Без сглаживания (Fixed rate sampler, 1 subdiv) Со сглаживанием (Adaptive subdivision sampler, rate -1/2)
Несколько примеров, демонстрирующих соотношение между качеством и скоростью просчета сэмплера изображения. Все сэмплеры были настроены на получение примерно одинакового качества.
Первый пример - нормальное сглаженное изображение (без размывающих эффектов). Для увеличения целкните мышью по изображению:
Сэмплер Fixed rate (4 subdivs) Сэмплер Adaptive DMC (subdivs 1/4) Сэмплер Adaptive subdivision (rate -1/2)И сэмплер Adaptive DMC и сэмплер Adaptive subdivision существенно быстрее сэмплера Fixed rate.
Замечание: модель Sponza Atrium создана Marko Dabrovic (http://www.rna.hr) и это одна из моделей для CGTechniques Radiosity competition. Модель Athene - свободнораспространяемая модель из банка моделей DeEspona Infografica model bank.
Здесь рассматроивается более сложный пример с детальными текстурами (много детального бампа) и неточечным источником света. Этот пример использует предварительно вычисленную карту освещенности - время просчета учитывает только окончательную визуализацию. Щелкните по изображению для увеличения.
Сэмплер Fixed rate (4 subdivs) Сэмплер Adaptive DMC (subdivs 1/4) Сэмплер Adaptive subdivision (rate 0/2, threshold 0.05)
В данном случае сэмплер Adaptive DMC показал наилучшую производительность, а сэмплер Adaptive subdivision - наихудшую. Почему? Ниже - изображение без сглаживания (антиалиазинга), что бы показать с чем приходится работать сэмплеру.
Некоторые части изображения сильно зашумлены, по причине использования детальной карты бампа. Для сглаживания требуется очень много сэмплов изображения. К тому же каждый сэмпл изображения достаточно дорогостоящ в плане просчета: используется карта освещенности и неточечный источник света, который требует множество вычислений. Для сэмплеров Fixed rate и Adaptive DMC V-Ray знает заранее сколько сэмплов изображения будет взято для пикселя, следовательно он может оптимизировать вычисление некоторых значений (например для неточечного источника света), поэтому окончательное изображение похоже на другие, хотя в действительности эти значения вычислены менее точно (т.е. оттрассировано меньше теневых лучей) для каждого отдельного сэмпла изображения. Это не может быть сделано для сэмплера Adaptive subdivision: заранее не известно сколько сэмплов будет вычислено для одного пикселя, следовательно необходимо поддерживать постоянную (высокую) точность. Постоянная точность также требуется сэмплеру для корректной подгонки изображения. Поэтому в этом примере сэмплер Adaptive subdivision показал наихудшие результаты.
Замечание: модель дракона взята из одной из демонстрационных сцен 3dsmax 4.
В третьем примере сравниваем изображения с прямым GI и смазыванием при движении (motion blur). Для увеличения щелкните по изображению.
Сэмплер Fixed rate (4 subdivs) Сэмплер Adaptive DMC (subdivs 1/4) Сэмплер Adaptive subdivision (rate 0/2, threshold 0.1)
В этом случае сэмплер Fixed rate был самым быстрым, а сэмплер Adaptive subdivision - самым медленным (правда изображение, вычисленное с адаптивным подразбиением очень сглаженное). Это происходит потому, что цена подразбиения пикселя для сэмплеров Adaptive DMC и Adaptive subdivision становится слишком высокой.
Ниже - сцена без смазывания при движении, просчитанная с картой освещенности и с сэмплером Adaptive subdivision (время просчета включает вычисление GI):
В этом примере рассматривается сглаживание (antialiasing) текстур и влияние параметра Color threshold на сэмплеры Adaptive DMC и Adaptive subdivision.
V-Ray не поддерживает механизм 3ds Max для суперсэмплинга материалов и карт. Вместо этого сглаживание текстур управляется сэмплером изображения.
По умолчанию V-Ray сглаживает в изображении все, включая текстуры. Это особенно полезно для текстур с мелкими деталями или зашумленных карт бампа, как показано в Примере 3. Параметр Color threshold (Порог цвета) управляет расстоянием, на котором происходит сглаживание текстур. Действие этого параметра особенно заметно с сэмплером Adaptive subdivison с невысоким значением минимального отношения (min rates). Для следующих четырех изображений использованы значения -3/2 для параметров min/max rate:
Color threshold 10.0 Color threshold 5.0
Color threshold 1.0 Color threshold 0.1
Заметим, что края объекта на этих изображениях всегда четкие. Это следствие того, что опция Object outline включена - см. Пример 6.
Если вы установите высокое значение Color threshold, вы, в сущности, говорите V-Ray, что сглаживать текстуры не надо. Вы можете использовать этот факт для повышения скорости просчета сложных материалов. Заметим однако, что это также запретит сглаживание теней, отражений и т.д.
В Примере 5 края объекта были всегда четкие, вне зависимости от значения параметра Color threshold. Это происходило потому, что опция Object outline была включена. Здесь первое и последнее изображения из предыдущего примера визуализированы с выключенной опцией Object outline:
Color threshold 10.0,
Object outline off Color threshold 0.1,
Object outline off
Теперь сглаживание краев зависит только от Color threshold. По умолчанию опция Object outline включена, что означает, что контуры объектов всегда сглаживаются. Если в сцене много мелких объектов, это может замедлить визуализацию. В этом случае лучше будет выключить эту опцию и использовать для управления качеством изображения только Color threshold.
С другой стороны, если в сцене имеется много детальных текстур, которые вы не хотите повергать суперсэмплингу, вы можете просто поднять значение параметра Color threshold. Для того, что бы края объектов остались четкими, вам будет необходимо включить опцию Object outline.
Другие опции (Normals, Z-Value, Material ID) позволяют вам выбирать дополнительные области для применения сглаживания. Например, опция Normals позволяет вам всегда сглаживать внутренние ребра объекта в дополнение к контуру объекта, как показано на иллюстрации ниже (min/max rate -3/2, Color threshold 10.0, Object outline включено):
Normals выключено Normals включено
Обычно V-Ray размещает сэмплы изображения в строгом, похожим на решетку, шаблоне. Это может приводить к нежелательной полосатости контуров, которые близки к горизонтали или вертикали. Вы можете использовать опцию Rand для избежания этого. Сравните изображения со включенной и с выключенной опцией Rand:
Rand выключено Rand включеноУвеличенные фрагменты двух изображений:
Rand выключено Rand включеноОпция Rand может быть очень полезна для изображений с длинными тонкими линиями.
Этот пример коротко демонстрирует действие различных фильтров сглаживания на конечный результат.
Заметим, что визуализация с конкретным фильтром - не то же самое, что визуализация без фильтра и дальнейшее размывание изображения в другой программе типа Adobe Photoshop. Фильтрация осуществляется на субпиксельном уровне через индивидуальные субпиксельные сэмплы. Вследствие этого, применение фильтра в процессе визуализации дает гораздо более аккуратный и утонченный результат, нежели применение постобработки. V-Ray может использовать все стандартные фильтры 3ds Max, за исключением Plate match, и дает результаты, аналогичные штатному визуализатору 3ds Max.
Для следующих изображений был использован сэмплер Adaptive subdivision с Min/Max rate равными -1/3 и включенной опцией Rand.
Этот пример показывает как фильтры сглаживания обманывают эффект муара на ваших изображениях. Фильтры, увеличивающие резкость (Mitchell-Netralavli, Catmull-Rom) могут усиливать эффект муара, даже если отношение сэмплирования вашего изображения очень высоко (т.е. для каждого пикселя вычисляется достаточно много сэмплов - прим. перев.). Размывающие фильтры (Area, Quadratic, Cubic) - уменьшают эффект муара.
Заметим, что эффект муара не обязательно является результатом сэмплирования изображения. В общем случае, эффект муара появляется просто потому, что изображение разбито на квадратные пиксели. По существу, они всегда присущи цифровым изображениям. Эффект может быть уменьшен при использовании различных сглаживающих фильтров, но полностью избежать невозможно.
Сцена очень простая: сфера с очень мелкой текстурой Checker, текстурная фильтрация выключена. Изображения были визуализированы с очень высоким отношением сэмплирования (15 подразбиений, или 225 лучей на пиксель). Этого достаточно для получения вполне точной аппроксимации в значениях пикселей. Заметим, что изображения выглядят совершенно по разному в зависимости от используемого фильтра:
No filter Area filter, size=1.5 Area filter, size=4.0 Quadratic filter Sharp quadratic filter Cubic filter Video filter Soften filter,size=6.0 Cook variable, size=2.5 Blend, size=8.0, blend=0.3 Blackman Mitchell-Netravali, blur=0.333, ringing=0.333 Catmull-Rom
Перевод © Black Sphinx, 2008. All rights reserved.