05.10.2021

Сглаживание


Сглаживание (англ. anti-aliasing) — технология, используемая для устранения эффекта («лесенки» или «зубчатости»), возникающих на краях одновременно выводимых на экран множеств отдельных друг от друга плоских или объёмных изображений. Сглаживание было придумано в 1972 году в Массачусетском технологическом институте в Architecture Machine Group, которая позже стала основной частью Media Lab.

Основной принцип сглаживания

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

Применяется два варианта сглаживания:

  • Общее сглаживание отрисовкой излишне крупного не сглаженного изображения с последующим уменьшением разрешения.
  • Специализированные алгоритмы сглаживания, работающие на изображениях определённого типа (например, Алгоритм Ву для отрисовки отрезков).

Следует заметить, что сглаживание зависит от гаммы монитора. В частности, среднее между 0,2 и 0,8 — это не обязательно 0,5, а ( 0 , 2 γ + 0 , 8 γ 2 ) 1 / γ {displaystyle left({frac {0{,}2^{gamma }+0{,}8^{gamma }}{2}} ight)^{1/gamma }} . Особенно это заметно на тонких узорах и тексте. Поэтому сглаживание наилучшего качества получается только тогда, когда γ {displaystyle gamma } известна.

Виды сглаживаний

Примечание: сглаживание влияет на FPS (кол-во кадров в секунду) в зависимости от ПСП (пропускной способности) видеокарты.

SSAA

SSAA (SuperSample Anti-Aliasing) — избыточная выборка сглаживания, также называемое полноценным или полноэкранным сглаживанием, используется для исправления алиасинга «лесенки» на полноэкранных изображениях. SSAA было доступно на ранних видеокартах, вплоть до DirectX 7. Начиная с DirectX 8 из-за огромной вычислительной сложности было заменено всеми производителями видеокарт на множественную выборку сглаживания, которая также была заменена другими методами, такими как CSAA + TrAA/AAA. MSAA даёт несколько худшее качество графики, но обеспечивает огромную экономию вычислительной мощности. Поскольку SSAA даёт более высокое качество изображения, он не был полностью исключён и до сих пор реализуется аппаратно в продуктах AMD и NVIDIA. В модельный ряд AMD HD6xxx он включён в качестве особенности (только для игр на DirectX 9), также он был включён в драйверы NVIDIA Fermi для всех игр, начиная с игр на DirectX 9 и заканчивая играми на DirectX 11 с использованием любых видеокарт NVIDIA с поддержкой DirectX 10 и выше.

В результате изображение с SSAA выглядит более мягко и реалистично. Однако у фотографических изображений с простым сглаживанием (например, суперсэмплинг, а затем усреднение) может ухудшиться внешний вид некоторых типов линейных рисунков или диаграмм (изображение будет выглядеть размыто), особенно там, где линии наиболее горизонтальны или вертикальны. В этих случаях может быть использован хинтинг.

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

Качество сглаживания ограничено пропускной способностью видеопамяти, поэтому видеокарта с быстрой памятью сможет просчитать полноэкранное сглаживание с меньшим ущербом для производительности, чем GPU более низкого класса. Сглаживание можно включать в различных режимах. Например, сглаживание x4 даст более качественное изображение, чем сглаживание x2, но значительно снизит производительность. Сглаживание SSAAx2 удваивает разрешение, тогда как SSAAx4 его учетверяет.

MSAA

MSAA (Multisample Anti-Aliasing) — технология пришедшая на смену SSAA, работающая только с геометрией, благодаря этому дающая схожий эффект сглаживания с SSAA, но при меньшем потреблении ресурсов.

CSAA

CSAA (Coverage Sampling Anti-Aliasing) — продолжение "эволюции" SSAA➔MSAA➔CSAA. Улучшение достигнуто за счёт того, что в буфер кадра передается ещё информация о субсэмпле с соседнего пикселя. Что в итоге помогает рассчитать более точное сглаживание. При равных уровнях (x2, x4, x8...) CSAA и MSAA, качество всегда будет выше у CSAA, а по нагрузке они примерно равны.

QCSAA

QCSAA (Quality Coverage Sampling Anti-Aliasing) — улучшенная версия CSAA, за счёт использования вдвое большего количества сэмплов для анализа.

AAA

AAA (Adaptive Anti-Aliasing) — у MSAA есть проблема при сглаживании краёв на прозрачных объектах. Данный способ призван устранить данную проблему. Является объединением MSAA и SSAA. Данный вид ресурсоёмок и рекомендуется обладателям мощных видеокарт. Используется только у AMD.

TrAA

TrAA (Transparency Anti-Aliasing) — аналог AAA, но от Nvidia.

CFAA

CFAA (Custom Filter Anti-Aliasing) — включает в себя 4 фильтра: box, narrow-tent, wide-tent и edge-detect. Каждый фильтр, это разный подход к реализации MSAA. Используется только у AMD.

  • box: стандартный MSAA.
  • narrow-tent: аналог CSAA.
  • wide-tent: аналог QCSAA.
  • edge-detect: при проходе фильтра edge detection по отрендеренному изображению, для определённых им пикселей, которые определяются как границы полигонов или резкие цветовые переходы, используется более качественный метод антиалиасинга с большим количеством сэмплов, а для остальных пикселей с меньшим.

TXAA

TXAA (Temporal approXimate Anti-Aliasing) — технология от Nvidia, которая использует основу MSAA. В формуле расчёта используется время, данные по пикселям из предыдущих кадров и данные из обрабатываемой сцены. После чего происходит усреднение по цвету. Это позволяет избавиться от мерцания и дерганья объектов в игре. Вдали дает качественную картинку, однако немного мылит близкие объекты и требования к ресурсам почти как для MSAA, хотя качество при тех же значениях лучше. Со слов производителя, TXAAx2 сравнимо по качеству с MSAAx8, но при по затратам производительности сопоставимо как с MSAAx2, а TXAAx4 выше по качеству чем MSAAx8, но по затратам производительности сопоставимо как с MSAAx4. Отлично подходит для сглаживания в динамике.

TAA

TAA (Temporal Anti-Aliasing) — аналог TXAA, но не от Nvidia.

Пример сглаживания TAA.

TSSAA

TSSAA (Temporal Super Sampling Anti-Aliasing) — аналог TXAA, но не привязанный к видеокартам Nvidia и основывающийся на суперсэмплинге.

FXAA

FXAA (Fast approXimate Anti-Aliasing) — метод сглаживания от Nvidia, представляющий собой однопроходный пиксельный шейдер, который обсчитывает результирующий кадр на этапе постобработки. Является более производительным решением, по сравнению с традиционным MSAA, что, однако, сказывается на точности работы и качестве изображения.

MLAA

MLAA (MorphoLogical Anti-Aliasing) — аналог FXAA от компании Intel. Ищет "зубчатые" границы на каждом кадре, похожие на Z, L и U буквы и смешивает цвета соседних пикселей, входящих в каждую такую часть. Алгоритм переведён на использование процессора, а не видеокарты. Отсюда можно рекомендовать его обладателям слабых видеокарт и с более менее производительным процессором. Из-за более сложного алгоритма изображение получается более качественным, чем с FXAA. Имеется реализация у AMD, но технически может использовать и Nvidia. Имеет проблему: сглаживание не работает на прозрачных текстурах. Поэтому в довесок этой постобработки нужно подключать еще и TrAA или AAA для улучшения изображения. Время обработки занимает 0,9 мс. Так же есть алгоритмы MLAA реализованные на видеокартах.

MFAA

MFAA (MultiFrame Sampled Anti-Aliasing) — метод сглаживания от Nvidia, эксклюзивный для видеокарт поколения Maxwell. Благодаря чередованию позиций выборок, MFAAx4 оказывает такое же влияние на производительность, как и MSAAx2, однако обеспечивает качество изображения на уровне MSAAx4.

SRAA

SRAA (Subpixel Reconstruction Anti-Aliasing) — новый двухпроходный алгоритм от Nvidia. SRAA очень схож с MLAA, но работает с буферами глубины и картами нормалей, из-за чего лучше определяет границы для сглаживания и затененные края. Время выполнения в целом очень низкое, основное время в алгоритме уходит на обработку затенения. На выходе могут появляться артефакты. Для сравнения на сглаживание изображения с разрешением 1280x720 методом SSAA уходит около 5-10 мс, а у SRAA 1,8 мс.

SMAA

SMAA (Subpixel Morphological Anti-Aliasing) — комбо из MSAA, SSAA и MLAA. По сути улучшенный MLAA с добавлением локального контраста, поиском паттернов и использованием большего числа сэмплов. Иногда может добавляться ещё и временная избыточная выборка. Ресурсов потребляет больше чем MLAA, но задействует при этом видеокарту, а не процессор.

Можно встретить разновидности:

  • SMAAx1: классический алгоритм SMAA, включающий точный поиск расстояний, работа с локальным контрастом для определения краёв, геометрических объектов и поиск диагональных линий. Время обработки занимает 1,02 мс.
  • SMAATx2: SMAA x1 + техники из TSSAA. Время обработки занимает 1,32 мс.
  • SMAASx2: SMAA x1 + техники из MSAA. Время обработки занимает 2,04 мс.
  • SMAAx4: SMAA x1 + техники из SSAA, MSAA, TSSAA и TMSAA. Время обработки занимает 2,34 мс.

CMAA

CMAA (Conservative Morphological Anti-Aliasing) — что-то среднее между FXAA и SMAAx1. Идеально подходит для слабых и средних видеокарт. Отличие от FXAA происходит за счёт обработки линий краёв длиной до 64 пикселей. Используется алгоритм, с обрабатыванием только симметричных разрывов цветов, чтобы избежать ненужного размытия. Отличие от SMAAx1 происходит за счёт менее полного сглаживания объектов, т. к. обрабатывается меньше типов фигур и обладает повышенной временной стабильностью, т. е. меньше мерцаний объектов.


Похожие новости:

Гомоморфная фильтрация

Гомоморфная фильтрация
Гомоморфная фильтрация - это обобщенная техника для цифровой обработки сигналов и изображений, с участием нелинейного отображения в другие пространства в которых теория линейных фильтров может быть

3Д изображения в интерьере - стильная изюминка дома

3Д изображения в интерьере - стильная изюминка дома
Картины всегда были незаменимыми предметами в интерьере: с их помощью можно спрятать сейф, украсить любое помещение и сделать его гораздо уютнее.

Объемные буквы в рекламе

Объемные буквы в рекламе
Несколько сотен лет насчитывает уже история вывесок. Для их создания издавна используются как буквенные, так и графические изображения. Рисунки, конечно, превалировали, так как этот способ донесения

Принципы филогенетического преобразования животных (часть 1)

Принципы филогенетического преобразования животных (часть 1)
Как бы сложны и многообразны ни были проявления жизни на Земле, все формы жизни связаны между собой через круговорот вещества и энергии. Несмотря на большое разнообразие форм, образа жизни, размеров,
Комментариев пока еще нет. Вы можете стать первым!

Добавить комментарий!

Ваше Имя:
Ваш E-Mail:
Введите два слова, показанных на изображении: *
Популярные новости
Новогодние игрушки: ассортимент, особенности выбора
Новогодние игрушки: ассортимент, особенности выбора
Близятся новогодние праздники, а это значит, что пришло время задуматься над покупкой игрушек....
Безрамное остекление: за и против
Безрамное остекление: за и против
Балконы с безрамным остеклением встречаются нечасто. Технология новая, но уже успела завоевать...
Из чего строить дом: дерево или камень - плюсы и минусы дерева
Из чего строить дом: дерево или камень - плюсы и минусы дерева
Вы мечтаете о доме, изучаете картинки в интернете, смотрите разные сайты, социальные сети,...
Все новости