Антиалиасинг: 6 типов и методов сглаживания цифровых изображений
Чтобы понять антиалиасинг, нужно знать, что такое алиасинг.
Вы видели пиксельные «лесенки» по краям объектов в играх и видео. Это алиасинг — ступенчатость, ухудшающая картинку.
Почему он возникает?
Экран состоит из пикселей — крошечных квадратов с собственным цветом и яркостью. Вертикальные и горизонтальные линии ложатся на пиксели идеально. Но диагонали и кривые приходится аппроксимировать точка-точка. Когда пиксели на границе либо включены, либо выключены — получаются «лесенки».
Очевидное решение — выше разрешение экрана. Но не каждый может купить топовый монитор. Инженеры придумали техники сглаживания. Одна из лучших — антиалиасинг.
Что такое антиалиасинг?
Антиалиасинг — сглаживание краёв пикселей путём смешивания их цветов с соседними, создавая иллюзию плавной линии. Звучит просто, но GPU должен обрабатывать миллионы пикселей каждый кадр.
Процессор сглаживает края, корректируя цвета по границам. Вместо жёсткого «вкл/выкл» пиксель получает промежуточный оттенок. Белая диагональ на чёрном фоне по краям станет серой разной интенсивности.
Увеличенный фрагмент: алиасинг vs антиалиасинг
Алгоритмы рассчитаны на естественный вид с нормального расстояния. При зуме сглаженный текст и картинки выглядят размыто — это цена подстройки пикселей.
Антиалиасинг применяют не только в графике и фото, но и в цифровом аудио (удаление лишних частот при сэмплировании). Здесь рассматриваем только графику.
На современных HiDPI-экранах (высокая плотность пикселей) «лесенки» почти не видно — сетка плотнее, картинка острее. Но даже они выигрывают от антиалиасинга.
Существует несколько типов антиалиасинга, у каждого свои плюсы и минусы. Разберём 8 самых популярных.
1. Supersampling Anti-Aliasing (SSAA)
До (слева) и после (справа) SSAA
Идеальное качество, но убивает производительность
Старейший и эффективный пространственный метод. Также называется FSAA (Full-Scene AA). Идеален для фотореализма: картинка становится мягче, живой.
Сцена рендерится в разрешении выше нативного. Берут цветовые сэмплы из «лишних» пикселей, усредняют. При уменьшении к целевому разрешению усреднённый цвет сглаживает лесенки. Чем больше сэмплов — тем лучше качество.
Минус: рендер в высоком разрешении жрёт ресурсы. В играх почти не используют.
Ещё минус: вертикальные/горизонтальные линии (чёткие по природе) становятся мыльными.
2. Multisample Anti-Aliasing (MSAA)
Источник: Nvidia
Меньше ресурсов, но качество ниже
Специализированный суперсэмплинг: не всё сэмплируется полностью. Сглаживают только грани полигонов (главный источник алиасинга в 3D). Текстуры не трогают.
GPU разделяет рисование на полигон (геометрию) и текстуру. Сначала рисует форму, потом накладывает текстуру. MAA сглаживает только полигоны.
Не обрабатывая весь кадр, MSAA эффективнее SSAA. Но качество ниже, и прозрачности не сглаживает.
3 и 4. CSAA (NVIDIA) и EQAA (AMD)
MSAA (слева) vs CSAA (справа) [в CSAA чётче края]
Оба дают лучшее качество при минимальном падении FPS
GPU-вендоры сделали свои пространственные методы. NVIDIA — CSAA, AMD — EQAA. Имена разные, принцип один.
GPU находит полигоны, вычисляет, где скорее всего будут лесенки, и суперсэмплит только те пиксели.
Весь кадр не обрабатывают — экономия ресурсов. Не требуют дополнительных цветовых/глубинных/стенсил-сэмплов. Видеопамять та же, что у MSAA в эквивалентном режиме.
5 и 6. MLAA (AMD) и FXAA (NVIDIA)
Пошаговая реализация FXAA (слева направо, сверху вниз) | Источник: NVIDIA
Быстро, мало ресурсов, но не для детализированных текстур
Пост-процессинговые методы. Оба работают одинаково: размывают пиксели ПОСЛЕ рендера кадра.
GPU сравнивает цветовой контраст соседних пикселей, находит грани полигонов. Пиксели с близким цветом/яркостью — один полигон. Граница найдена — размывают пиксели пропорционально контрасту.
В отличие от MSAA, MLAA и FXAA работают с deferred rendering. Точно находят грани, локализуют паттерны. Очень быстрые, ресурсов едят меньше пространственных методов. Размытие убирает резкий контраст невыровненных пикселей — лесенки исчезают. Но размытость заметна на динамическом освещении и детальных текстурах.
7. Enhanced Subpixel Morphological Anti-aliasing (SMAA)
Пример SMAA 4x в Crysis 2
Комбинирует пространственный и пост-процессинговый подходы
Пост-процессинг, объединяющий MLAA с мульти/суперсэмплинговыми стратегиями (MSAA, SSAA) для точных субпиксельных признаков.
SMAA даёт лучшее качество при экстремально высокой скорости. Точные градиенты, временная стабильность, минимальные накладные расходы. Любимый выбор слабых конфигураций.
8. Temporal Anti-Aliasing (TXAA)
Качество выше FXAA/MLAA, но требует много ресурсов
Сложный метод: размытие + суперсэмплинг для чёткой графики и плавного движения. Цель — стабильный уровень плавности в виртуальной среде.
Разработали Adaptive Temporal AA (ATAA), исправляющий недостатки TXAA: убирает размытие и ghosting без серьезного падения FPS. Качество близко к 16x суперсэмплингу.
Какой антиалиасинг выбрать?
Если знаете своё железо и желаемую производительность — выбор проще. Поможут вопросы:
- Какие спеки GPU?
- Насколько требовательны ваши игры?
- Какие графические фичи важны, а на чем можно сэкономить?
Мощное железо: SSAA, MSAA, TXAA.
Среднее: MSAA, FXAA, MLAA.
Слабое (перегрев, низкий FPS): CSAA, SMAA.
Можете экспериментировать с настройками: разрешение, тени, FOV, дальность прорисовки, текстуры, анизотропная фильтрация. Начинайте с минимума и поднимайтесь — утомительно, но верный способ найти баланс.
Но с современными GPU и экранами заморачиваться над антиалиасингом почти не стоит. Новые игры и ультра-разрешения часто не нуждаются в нём вовсе.
Всё равно полезно знать типы — пригодится при балансе визуала и производительности следующего ПК, при монтаже видео или разработке игр.
Промышленные технологии
- Полное руководство по типам гвоздей: понимание каждой разновидности
- Материалы в обработке: типы и применения
- Полное руководство по техникам гибки труб
- Типы работников технического обслуживания: роли, обязанности и цвет воротничка
- Виды абразивов для пескоструйной обработки: как выбрать материал
- Роли рабочих на фабрике: от сборщиков до механиков
- Экспертное руководство по самым эффективным методам очистки земель
- Основные ручные инструменты столяра и домашнего мастера
- Виды сварки: технологии, принципы работы и сферы применения
- Понимание различных типов прототипирования: руководство для основателей