Что такое anti aliasing

[Spin-Off] Anti-Aliasing (AA) в современных играх

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

Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing

Anti-Aliasing (AA) в современных играх

Или, по-нашему — … тоже антиалайзинг. Полноценного русского названия для этой технологии просто нет. Можно перевести его как «устранение эффекта лесенки» или «устранение ступенчатости». В играх его часто переводят как «сглаживание». Но все эти варианты не совсем корректны, и в среде людей, занимающихся графикой, просто используют кальку с английского названия.

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

Внимание!
Расстановка точек над АА невозможна без некоторой суровой теории. И картинки по ходу тоже будут не красивыми скриншотами из ААА-игр, а специальными синтетическими примерами.
Если тебе такое не по силам / не интересно — крути вниз, к кратким выводам.

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

Допустим, у нас в кадре есть чайник (так уж повелось у 3D-шников: брать его в качестве болванки). Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing Для камеры он будет выглядеть вот так: Каждая ячейка — это отдельный пиксель.Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing
В реальной природе (например, на матрице фотоаппарата) каждый пиксель получит средний цвет той области, которую он представляет. То есть, Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing
Но так обстоят дела в реальной природе. Когда же изображение создаётся искуственно, компьютер не может получить средний цвет в области, потому что никаких «областей» и нет. Есть лишь пиксели. И цвета для них ему надо откуда-то «придумать». Что он и делает.
Рендеринговый движок при создании картинки «стреляет» из камеры лучами в центр каждого пикселя: Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing … потом — смотрит, в какую точку на поверхности этот луч попал, и вычисляет в ней цвет.
Вот тут-то — и лежит наш камень преткновения, именуемый алайзингом.

Super-Sampling (SSAA)

Корень зла — в том, что каждый семпл «видит» цвет лишь в одной точке. И не важно, в центре пикселя мы его «стреляем» или сбоку: попав в одном направлении, он тем самым упускает всё остальное. Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasingЧто такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasingЧто такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasingТак что самое простое и очевидное решение — «стрелять» по несколько семплов в каждом пикселе, а потом усреднять их цвета. Это и есть суперсемплинг.
Решение, что называется, «в лоб» (брутфорсное), и это палка о двух концах. С одной стороны, брутфорс всегда корректнее, чем всякие имитации. С другой — он и ресурсов требует гораздо больше.
Фактически, если мы стреляем в каждом пикселе по 2, 4, 8 семплов — это всё равно что рендерить картинку в разрешении, которое больше во столько же раз. То есть, и производительность падает пропорционально.

Со временем придумали разные алгоритмы для генерации дополнительных семплов, но они лишь повышали качество картинки, а требовательность к ресурсам оставалась прежней. Взято с Википедии, там же — плюсы и минусы каждого метода. Если вкратце, то они улучшаются в таком порядке (если говорить только о реалтаймовой графике):
Grid:
Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing
Random / Stochastic:
Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing
Poisson disc:
Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing
Jittered:
Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing
Rotated grid:
Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasingТак что если ты увидишь в меню варианты вида «SSAA grid» и «SSAA rotated grid» — ты поймёшь, что речь как раз об этом. Grid — это самый первый (самый «дубовый») вариант, все остальные выглядят лучше при том же числе семплов.

Суперсемплинг также называют FSAA (Full-Scene AA), но на мой взгляд это весьма неудачная аббревиатура, т.к. возникают разночтения с FullScreen AA. То есть, с «полноэкранным антиалайзингом» — общим названием вообще всех видов АА как такового.
Ещё помнится, что я встречал в какой-то игре вариант перевода «избыточная выборка» — это тоже SSAA, только глазами надмозгов.

Multi-Sampling (MSAA)

CSAA (Coverage Sampling AA)

Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing

АА как пост-эффект

MSAA/CSAA показали, что важно не только плодить дополнительные семплы на соседних пикселях с высокой контрастностью, но и просто умело размывать их. Что породило ещё кучу новых видов АА, которые уже и вовсе являются не трёхмерными технологиями, а чисто двухмерными.
Они оперируют с готовым изображением (как фильтр в фотошопе), просто по-разному размывая уже имеющиеся пиксели/семплы. Соответственно, применяются они в самом конце, что позволяет комбинировать их с «честным» SSAA и «условно-честным» MSAA.
Всего их на сегодняшний день понаплодилось — DLAA — Directionally Localized AntiAliasing
EQAA — Enhanced Quality AntiAliasing
EdgeAA — Edge AntiAliasing
FXAA — Fast approXimate AntiAliasing
GPAA — Geometric Post-process AntiAliasing
GBAA — Geometry Buffer AntiAliasing
MLAA — MorphoLogical AntiAliasing
NFAA — Normal Filter AntiAliasing
SRAA — Subpixel Reconstruction AntiAliasing
SDAA — Second Depth AntiAliasing
SMAA — Subpixel Morphological AntiAliasing
TAA — Transparent AntiAliasing

Я в настоящее время пользуюсь Юнити, так что для сравнения могу показать лишь эти виды: NFAA:
Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing
FXAA:
Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing
DLAA:
Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasingЧто такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing
Сами по себе эти алгоритмы способны лишь устранить явную ступенчатость. Но, например, на длинных объектах тоньше пикселя (провода, верёвки) они ситуацию не спасают.
Впрочем, и использовать их надо не как самостоятельный АА, а лишь как дополнение к более брутфорсным братьям. Которое относительно дёшево позволяет немного повысить качество уже сглаженной картинки.

Кроме того, у всех пост-эффектных режимов сглаживания есть одно колоссальное преимущество: они дружат с deffered освещением. Что это такое — как-нибудь в другой раз, но штука эта в современных играх архи-нужная.

Из всего длиннющего списка пост-эффектных АА хочется выделить несколько:

FXAA (Fast approXimate AA) — самый эффективный метод по соотношению ресурсы/качество. Он весьма удачно справляется со сглаживанием на краях объектов. На верёвках, естественно, не особо помогает (как и все остальные в этом списке). Но он действительно шустрый. Что и позволило ему доминировать на консолях предыдущего поколения.
К сожалению, по природе своей, он не только сглаживает границы, но и слегка размывает текстуры. Однако это с лихвой оправдывается тем, что он практически бесплатен в сравнении с MSAA/CSAA.

Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing

Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing

Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing

Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing

Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing

TXAA (Temporal AA)

Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing

Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing

Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing

Краткие выводы

0. Отсутствие AA — жуть и безобразие.
1. SSAA — самый правильный, но и самый (до безобразия) тормозной алгоритм.
2. MSAA — относительно правильный, и приемлимо тормозной (если нет тех, что дальше).
3. CSAA — по качеству такой же, как MSAA, но значительно быстрее.
4. FXAA — практически бесплатный, но самый «мыльный».
5. MLAA — такой же, как CSAA/MSAA по качеству, но гораздо быстрее по скорости. И, как и FXAA, совместим с современными технологиями (deferred lighting).
6. SMAA — гораздо лучше по качеству, чем FXAA и MLAA, медленнее их по скорости, но по-прежнему быстрее, чем MSAA.
7. TXAA — адская вундервафля, про которую пока мало чего ясно. Соперничает с SMAA, но при этом стремится по скорости к MSAA, а по качеству — к FXAA. Но она единственная полностью устраняет эффект дребезжания (во всяком случае, так заявлено, а на глаз она это делает ничем не лучше, чем SMAA).

Ну и напоследок — срыв покровов.
Все эти режимы сглаживания в будущем могут оказаться попросту не нужны. Разрешения мониторов растут, уже достигли 4K, и при этом некоторые умудряются играть на нескольких мониторах. На всяких retina display — и вовсе невозможно разглядеть отдельный пиксель.
Так что предлагаю тебе сперва провести простой эксперимент:
1. сделать в фотошопе чёрную картинку с пятью-шестью одиночными яркими пикселями разных цветов. Разрешение картинки — как у твоего монитора. Желательно, если ты в ФШ ткнёшь карандашом в случайные места (чтоб сам не знал, где каждый пиксель).
2. Сохраняешь в PNG, открываешь картинку на весь экран через твой просмотровщик (вроде IrfanView).
3. Садишься на том расстоянии от монитора, на котором ты играешь, и ищешь глазами эти цветные пиксели.

Если на поиск у тебя ушло около минуты или больше — поздравляю! Тебе можно вообще класть болт на все эти навороченные антиалайзинги. По той причине, что ты просто не увидишь лесенку в игре, как бы ты ни старался. Грубо говоря, разрешение твоего монитора — больше, чем разрешение твоего глаза (на эту область).
Включай FXAA как почти-бесплатный — и радуйся бескомпромиссному качеству картинки.

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

Источник

Какое сглаживание в играх лучше: DLSS, MSAA, TAA, FXAA или DMAA

Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing

В любой современной игре в настройках графики легко найти пункт «Сглаживание». Как работает эта функция, насколько она полезна и какой вариант сглаживания выбрать, если доступно несколько — разберём подробнее.

Содержание

Что такое сглаживание и для чего нужно

Для начала стоит немного рассказать о том, что такое алиасинг, чтобы понять, для чего нужно сглаживание. Дело в том, что графика дискретна — очевидно, пиксель либо закрашен полностью, либо нет. При построении сцены цвет каждого пикселя определяется тем, лежит ли в его центре часть какого-нибудь объекта или нет. Именно поэтому некоторые детали могут не отрисовываться, если они покрывают лишь четверть пикселя. А другие примитивы, наоборот, имеют слишком резкие переходы между парой пикселей, даже если сам предмет должен обладать плавными формами.

Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing

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

Так вот, сглаживание, или же AA (Anti-Aliasing) — это способ устранения артефактов алиасинга, в том числе и тех самых «лесенок» на изображении. Оно позволяет сделать сцену в игре более реалистичной и приятной глазу, как в реальной жизни. Добиваются плавности как раз «смягчением» переходов между пикселями, заполняя соседние пиксели корректными оттенками.

Какие виды сглаживания в играх бывают

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

Сами методы можно разделить на 2 категории: те, которые применяются во время рендеринга и те, которые применяются к уже построенному изображению (постпроцессинговые).

SSAA (Super Sampling Anti-Aliasing)

Также его называют методом избыточной выборки. Основан на принципах получения образцов цвета (сэмплов) сразу в 4 участках пикселя с последующим усреднением. Важное уточнение: для этого вместо одного пикселя рендерятся четыре, и уже после расчётов цвета они сжимаются обратно до одного. Кстати, необязательно должно использоваться именно четырёхкратное увеличение, это лишь один из самых распространённых типов алгоритма. Существует множество вариаций паттернов выборки: среди них ordered grid, rotated grid, jitter. Все они отличаются только расположением точек получения сэмплов и точностью результата. Иногда в настройках игры можно увидеть несколько видов SSAA, которые как раз будут отличаться паттернами. Самый простой — ordered grid (OGSSAA), остальные методы, как правило, эффективнее.

Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing

Существенным недостатком SSAA является его высокое требование к ресурсам — неудивительно, ведь по сути это рендеринг всей сцены в разрешении, превышающем нативное в несколько раз. Зато этот метод сглаживания один из самых эффективных и точных, правда, в современных AAA-проектах встречается не так часто.

DSR (Dynamic Super Resolution)

Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing

Владельцы видеокарт NVIDIA имеют возможность включить в «Панели управления NVIDIA» функцию под названием DSR. С этой технологией изображение в игре рендерится в большем разрешении, а затем масштабируется до нативного разрешения монитора. Результат оказывается близок к SSAA, за исключением того, что в DSR ещё накладывается фильтр размытия.

Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing

Как и метод избыточной выборки, DSR потребляет много ресурсов. Главный плюс использования этой функции — она поддерживается в большем количестве игр (хотя в некоторых могут возникать проблемы) и не требует внедрения разработчиком.

MSAA (MultiSample Anti-Aliasing)

Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing

Как и SSAA, MSAA делает выборку нескольких участков пикселя и усредняет цвет, но только на крайних пикселях объектов, а не на всей сцене, а значит, и ресурсов потребляет значительно меньше. Весьма распространён и даёт хороший результат. Из-за такой выборки проявляются и недочёты технологии — на стыках между двумя объектами изображение по-прежнему «острое», то же самое видно и на высокодетализированных, а также прозрачных текстурах. Ну и хоть оно менее ресурсозатратное, нежели SSAA, это всё ещё «тяжёлый» метод, сильно нагружающий видеокарту.

Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing

MSAA в играх встречается в нескольких типах: 2x, 4x, 8x, 16x. Число отражает количество выборок на пиксель. Чем оно выше, тем лучше результат, но сильнее нагрузка.

CSAA (Coverage Sampling Anti-Aliasing)

Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing

CSAA — это доработанный MSAA от компании NVIDIA. Он выдаёт результат, близкий к MSAA 8x или 16x, потребляя ресурсы на уровне MSAA 4x. Не углубляясь в детали, улучшение сглаживания достигается за счёт использования информации ещё и о соседних пикселях. Похожая технология от AMD называется EQAA (Enhanced Quality Anti-Aliasing). Обе технологии почти не встречаются в современных играх из-за того, что сейчас разработчики предпочитают использовать универсальные методы.

TAA (Temporal Anti-Aliasing)

Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing

TAA — популярный метод сглаживания, который часто используется во многих современных играх. Он берёт информацию о пикселях не только с текущего кадра, но и с предыдущего. За счёт этого TAA позволяет избавиться от эффекта мерцания, например, на тонких объектах. В целом, это довольно качественный метод, не уступающий MSAA, при этом потребляющий в разы меньше ресурсов. Недостатки тоже есть: изображение может быть слишком мыльным — разработчики пытаются исправлять это повышением резкости, но не всегда помогает. Кроме того, из-за того, что информация берётся с предыдущего кадра, возникает эффект гостинга (остаточного изображения) — вокруг движущихся объектов возникают «шлейфы».

FXAA (Fast approXimate Anti-Aliasing)

Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing

FXAA относится к постпроцессинговому типу сглаживания. Весьма дешёвый способ убрать алиасинг с небольшими потерями производительности. FXAA смешивает соседние пиксели на готовом изображении, заранее определяя контрастные переходы. Недостатком можно назвать излишнее сглаживание, из-за чего некоторые текстуры и далёкие предметы будут мыльными, но FXAA станет отличным выбором на слабых компьютерах, так как оказывает очень маленькое влияние на FPS.

Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing

MLAA (MorphoLogical Anti-Aliasing)

Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing

Постпроцессинговый метод, работает не на видеокарте, а на процессоре, в отличие от всех остальных методов. MLAA ищет резкие отличия в цветах, затем идентифицирует L-, Z- и U-образные паттерны в построенном изображении, после чего смешивает цвета пикселей в таких фигурах.

На движущихся объектах могут возникать артефакты, связанные с появлением и исчезновением отдельных пикселей. Это характерно почти для всех типов геометрического сглаживания, в том числе и для MLAA. На тонких объектах данный артефакт проявляется в виде мерцания.

MLAA даёт более точный результат, чем у FXAA, но и сам процесс более требователен к ресурсам. Впрочем, если имеется мощный процессор, то влияние на FPS в играх будет минимальное.

SMAA (Subpixel Morphological Anti-Aliasing)

Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing

SMAA — это смесь FXAA и MLAA, работающая на видеокарте. В отличие от MLAA, ищёт различия не в цветах, а в яркости пикселей. Кроме того, использует не только L-, Z- и U-образные паттерны, но ещё и диагональные.

Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing

Существуют разные типы SMAA:

Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing

Самый эффективный, как можно понять из описания, SMAA T4x, он же и самый прожорливый из этих вариантов. На скриншотах из Shadow of Tomb Raider заметно, как сильно меняется изображение при включении SMAA 1x, а вот разница между SMAA T2x и T4x есть, но она не такая существенная.

CMAA (Conservative Morphological Anti-Aliasing)

Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing

Как и предыдущие три, CMAA — это постпроцессинговый метод. Нагружает систему чуть больше, чем FXAA, но меньше, чем SMAA. В теории, CMAA обеспечивает куда более лучшую по качеству картинку, нежели примитивный FXAA, но это зависит от реализации: на примерах из DiRT Rally 2.0 отлично видно, что алгоритм не очень сильно влияет на сцену.

Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing

На двух изображениях выше сложно увидеть разницу, но она есть: отдалённые предметы более чёткие и с меньшим количеством лесенок. Особенно видно это на мелкой траве вдалеке, а также на дальних конусах.

Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing

CMAA исследует изображение на разрывы цветов, уточняет края фигур в конкретных участках, затем обрабатывает простые фигуры, причём только симметричные. Метод имеет повышенную временную стабильность в сравнении с SMAA и MLAA — за счёт этого в сцене меньше мерцаний.

DLSS (Deep Learning Super Sampling)

Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing

Сравнительно новая технология, на данный момент доступная только на видеокартах NVIDIA RTX. Очень эффективный метод, который при небольших требованиях к ресурсам выдаёт качественную картинку. Конечно, если речь идёт о DLSS 2.0 и 2.1 — первая итерация технологии была очень сырой и сильно «мылила» картинку.

Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing Что такое anti aliasing. Смотреть фото Что такое anti aliasing. Смотреть картинку Что такое anti aliasing. Картинка про Что такое anti aliasing. Фото Что такое anti aliasing

Используя тензорные ядра, DLSS апскейлит отрендеренное в низком разрешении изображение за счёт использования глубокого машинного обучения. Такой подход позволяет добиться качества, сравнимого с рендером сцены в полноценном разрешении.

Конечно, технология всё ещё сыровата даже во второй версии, и иногда встречаются небольшие артефакты, но даже сейчас результат получается лучше, чем при использовании TAA. На картинке выше сравнивается DLSS и TAA. Издалека разницы нет, но при детальном рассмотрении видно, что с DLSS дальние объекты чётче, а рюкзак выглядит чуть мыльнее, но на нём нет лесенок.

Итог: какое сглаживание лучше выбрать

Технологий сглаживания действительно много, но каждая из них имеет право на существование. Какая же из них самая лучшая?

Источник

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *