Устранение ступенчатости

Изображение, созданное компьютером, состоит из пикселей, а каждый пиксель, как известно, может иметь только один цвет. В процессе визуализации движок визуализации должен присвоить один цвет каждому пикселю, основываясь на том, какой объект находится под этим пикселем. Часто это приводит к плохим результатам, особенно на острых границах, или когда присутствуют тонкие линии, а особенно это заметно для наклонных линий.

Чтобы преодолеть эту проблему, которая также известна как ступенчатость (aliasing), можно прибегнуть к технике cглаживания. Суть техники сводится к тому, что каждый пиксель подвергается «сверхвыборке», то есть визуализируется так, как если бы он состоял из пяти пикселей или даже больше, а его цвет получается после некоторого «усреднения» цветов отрисованных пикселей.

The buttons to control Anti-Aliasing, or Oversampling (OSA), are below the rendering button in the Render Panel.

Параметры

Anti-Aliasing (checkbox)
Включает сверхвыборку.
Сэмплы

Количество выборок на пиксель. Более высокие значения лучше справляются с рёбрами, но замедляют визуализацию.

5, 8, 11, 16

По умолчанию в Blender мы используем фиксированную таблицу «распределённого разброса». Выборки внутри пикселя распределяются и разбрасываются способом, гарантирующим две характеристики:

  1. Каждая выборка расположена на одинаковом расстоянии до своих соседей.
  2. Выборки равным образом покрывают все положения субпикселей, как по горизонтали, так и по вертикали.

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

../../../_images/render_blender-render_settings_antialiasing_oversampling-pattern-5.jpg

5 сэмплов

../../../_images/render_blender-render_settings_antialiasing_oversampling-pattern-8.jpg

8 сэмплов

../../../_images/render_blender-render_settings_antialiasing_oversampling-pattern-11.jpg

11 сэмплов

../../../_images/render_blender-render_settings_antialiasing_oversampling-pattern-16.jpg

16 сэмплов

Все сэмплы
Сохранять все сэмплы сглаживания для всех результатов слоя визуализации. Этот параметр избавляет от проблем со сглаживанием при композитинге.

Пиксельный фильтр

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

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

В меню фильтра устанавливается тип пиксельного фильтра, используемого для «усреднения» выборок:

Куб

Низкокачественная угловатая кривая.

Примечание

Этот фильтр обладает сравнительно низким качеством. Вы можете видеть, что цвет пикселя определяют только выборки внутри самого пикселя. Формулы других фильтров гарантируют, что некоторое количество выборок будет распределено так же между другими пикселями.

Палатка
Упрощённый фильтр, дающий резкие результаты.
Квадратично
Квадратичная кривая.
Кубический
Кубическая кривая.
Гаусс
Гауссовское распределение, наибольшее размытие.
Катмулл-Ром
Фильтр Катмулла-Рома, наибольшее увеличение резкости.
Митчелл-Нетравали
Хороший фильтр по окрестности, дающий достаточную резкость.
../../../_images/render_blender-render_settings_antialiasing_oversampling-graph-box.jpg

Куб

../../../_images/render_blender-render_settings_antialiasing_oversampling-graph-tent.jpg

Палатка

../../../_images/render_blender-render_settings_antialiasing_oversampling-graph-quadratic.jpg

Квадратично

../../../_images/render_blender-render_settings_antialiasing_oversampling-graph-cubic.jpg

Кубический

../../../_images/render_blender-render_settings_antialiasing_oversampling-graph-gaussian.jpg

Гауссовский

../../../_images/render_blender-render_settings_antialiasing_oversampling-graph-catmullrom.jpg

Катмулл-Ром

../../../_images/render_blender-render_settings_antialiasing_oversampling-graph-mitchell-netravali.jpg

Митчелл-Нетравали

Размер

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

Примеры

../../../_images/render_blender-render_settings_antialiasing_osa8-box.jpg

8 выборок, фильтр «Куб»

../../../_images/render_blender-render_settings_antialiasing_osa8-tent.jpg

8 выборок, фильтр «Палатка»

../../../_images/render_blender-render_settings_antialiasing_osa8-quad.jpg

8 выборок, квадратичный фильтр

../../../_images/render_blender-render_settings_antialiasing_osa8-cubic.jpg

8 выборок, кубический фильтр

../../../_images/render_blender-render_settings_antialiasing_osa8-gauss.jpg

8 выборок, гауссовский фильтр

../../../_images/render_blender-render_settings_antialiasing_osa8-catrom.jpg

8 выборок, фильтр Катмулла-Рома

../../../_images/render_blender-render_settings_antialiasing_osa8-mitch.jpg

8 выборок, фильтр Митчелла-Нетравали