Smaa что это в играх

Типы сглаживания в играх

Smaa что это в играх. c16d004f88abe0d4598b4e82bd3977d4. Smaa что это в играх фото. Smaa что это в играх-c16d004f88abe0d4598b4e82bd3977d4. картинка Smaa что это в играх. картинка c16d004f88abe0d4598b4e82bd3977d4

Начнем с определения:

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

Почему возникает «зубчатость»? Проблема в том, что мониторы современных ПК состоят из квадратных пикселей, а значит на них действительно прямыми будут только горизонтальные и вертикальные линии. Все линии, находящиеся под углом, будут строиться из пикселей, находящихся по диагонали друг к другу, что и вызывает «зубчатость». К примеру, справа на картинке — вроде бы ровная линия. Однако стоит ее увеличить, как сразу становится видно, что никакая она не прямая:
Smaa что это в играх. 997a4d6e9f36e533bda129f73ac9a950. Smaa что это в играх фото. Smaa что это в играх-997a4d6e9f36e533bda129f73ac9a950. картинка Smaa что это в играх. картинка 997a4d6e9f36e533bda129f73ac9a950
Чем это грозит в играх? Тем, что, во-первых, при движении будет возникать эффект «мельтешения» — такие неровные линии будут постоянно перестраиваться, что будет и отвлекать от игры, и делать картинку неестественной. Во-вторых — далекие объекты будут выглядеть нечетко.

Сразу же возникает вопрос — а как убрать эти неприятные эффекты? Самый простой способ — сделать пиксели меньше при том же размере экрана (иными словами — сделать разрешение больше и поднять плотность пикселей). Тогда «зубчатость» будет проявляться слабее, и картинка будет выглядеть естественнее. Но увы — способ хоть и простой, но дорогой, да и для видеокарты это достаточно сильная дополнительная нагрузка. И тогда, дабы улучшить картинку не меняя монитора, было придумано сглаживание.

SSAA (Supersample anti-aliasing) — самое тяжелое сглаживание, потому что оно, по сути, описывает способ убирания лесенок, который я привел выше: при четырехкратном (4х) сглаживании видеокарта готовит картинку в разрешении вчетверо выше, чем выводит на экран, потом происходит усреднение цвета соседних пикселей и вывод на экран в исходном разрешении. Получается, что виртуальная плотность пикселей вдвое выше, чем у экрана, и лесенки практически перестают быть заметными. Очень сильно сказывается на производительности: к примеру, если разрешение в игре 1920х1080, то видеокарта вынуждена готовить картинку в 4К — 3840х2160. Однако результат получается великолепным — картинка выглядит как живая, никакого мельтешения нет:

Smaa что это в играх. 1ab71e7d175a33100f305ddd55e4ac60. Smaa что это в играх фото. Smaa что это в играх-1ab71e7d175a33100f305ddd55e4ac60. картинка Smaa что это в играх. картинка 1ab71e7d175a33100f305ddd55e4ac60

MSAA (Multisample anti-aliasing) — улучшенная версия SSAA, которая потребляет гораздо меньше ресурсов. К примеру — зачем сглаживать то, что находится внутри текстуры, если лесенки есть только на краях? Если текстура представляет собой прямую линию под углом к игроку, то можно сгладить лишь один участок и продолжить эффект на весь край текстуры. В результате нагрузка на видеокарту становится ощутимо меньше, и по тяжести даже 8х MSAA оказывается ощутимо легче 4х SSAA при сравнимом качестве картинки.

CSAA и CFAA (Coverage Sampling anti-aliasing и Custom-filter anti-aliasing) — по сути несколько улучшенный MSAA от Nvidia и AMD (позволяют выбирать дополнительные отсчёты «перекрытия» пикселя, по которым можно уточнять итоговое значение цвета попадающего на край треугольника экранного пикселя). 8x CSAA/CFAA дает сравнимое с 8x MSAA качество картинки, однако потребляет примерно столько же ресурсов, столько и 4х MSAA. На сегодняшний момент оба сглаживания не используются — разработчики игр решили использовать унифицированные для всех видеокарт сглаживания.

FXAA (Fast approXimate anti-aliasing) — нетребовательное быстрое сглаживание. Алгоритм прост — совершается один проход по всем пикселям изображения и усредняются цвета соседних пикселей. Это слабо нагружает видеокарту, однако сильно мылит картинку (обратите внимание на четкость текстуры камня), делая далекие объекты вообще неузнаваемыми:

Smaa что это в играх. 06f217c6d193d8e0805b3362388987ca. Smaa что это в играх фото. Smaa что это в играх-06f217c6d193d8e0805b3362388987ca. картинка Smaa что это в играх. картинка 06f217c6d193d8e0805b3362388987ca

Такое сглаживание имеет смысл включать только если лесенки терпеть не можете, а видеокарта не тянет лучшее сглаживание. По сути тут идет выбор между замыливанием изображения и лесенками.

Smaa что это в играх. c8060b9c4350bbdc17633a73bf10d1fb. Smaa что это в играх фото. Smaa что это в играх-c8060b9c4350bbdc17633a73bf10d1fb. картинка Smaa что это в играх. картинка c8060b9c4350bbdc17633a73bf10d1fb

Из особенностей — это единственное сглаживание, работающее полностью на процессоре, поэтому практически не влияет на fps в играх при мощном процессоре. Из-за более сложного алгоритма изображение получается более качественным, чем с FXAA, однако до 2x MSAA все еще далеко.

SMAA (Subpixel Morphological anti-aliasing) — смесь FXAA и MLAA. По сути несколько улучшенный MLAA, но работающий на видеокарте (так как процессор для сглаживания подходит гораздо хуже). Дает картинку, сравнимую с MLAA, лучше, чем FXAA (обратите внимание на бочки), однако потребляет больше ресурсов:

Smaa что это в играх. 9fbeea77ea1ea5eee83a37c13b81c7a3. Smaa что это в играх фото. Smaa что это в играх-9fbeea77ea1ea5eee83a37c13b81c7a3. картинка Smaa что это в играх. картинка 9fbeea77ea1ea5eee83a37c13b81c7a3

Такое сглаживание является хорошей заменой FXAA, и по уровню нагрузки на видеокарту находится между отсутствием сглаживания и 2x MSAA, так что есть надежда, что в будущем игр с ним будет все больше.

TXAA(Temporal antialiasing) — новая технология сглаживания от Nvidia. В отличии от других типов сглаживания, которые работают только с одним кадром (то есть с неподвижной картинкой), это умеет работать с движущимися объектами и хорошо убирает «мельтешение» картинки. По сути является смесью MSAA и SMAA, дает очень качественную картинку, однако немного ее мылит и очень требовательно к ресурсам.

В итоге — какое сглаживание выбрать? Если видеокарта совсем плохо тянет игру, то или оставаться без сглаживания и смотреть на лесенки, или же выбрать FXAA и любоваться на мыло. Если же система по-мощнее, но MSAA все еще не тянет — стоит выбрать MLAA или SMAA. Если видеокарта играючи справилась с 8х MSAA — стоит смотреть на SSAA или TXAA.

Источник

SMAA: улучшенное субпиксельное морфологическое сглаживание

Smaa что это в играх. 399cc15c7506349c5a9c98fd7a4697c8. Smaa что это в играх фото. Smaa что это в играх-399cc15c7506349c5a9c98fd7a4697c8. картинка Smaa что это в играх. картинка 399cc15c7506349c5a9c98fd7a4697c8

Данная статья основана на журнале Хорхе Хименеса, Хосе Эчеварриа, Тиаго Соуса и Диего Гутьерреса.

Старые способы сглаживания (антиалиасинга)

Современные способы сглаживания

Существует множество современных основанных на фильтрации методов, которые хорошо справляются со своей работой, несмотря на то, что уступают двум перечисленным выше. FXAA, DEAA, GPAA, GBAA, CSAA, EQAA, DLAA… В этой статье мы поговорим о SMAA, и о его предшественнике — MLAA. Эти современные основанные на фильтрации методы имеют собственные проблемы:

Морфологическое сглаживание (Morphological Antialiasing, MLAA)

MLAA пытается оценить покрытие исходной геометрии. Для точной растеризации сглаженного треугольника необходимо вычислить площадь покрытия каждого пикселя внутри треугольника, чтобы правильным образом смешать его с фоном. MLAA начинает с изображения без сглаживания, а затем обращает процесс вспять, векторизируя силуэты, чтобы вычислить покрываемые ими площади. Поскольку фон после растеризации узнать нельзя, MLAA затем смешивает его с соседом, предполагая, что его значение близко к значению исходного фона. Другими словами, алгоритм распознаёт границы (с помощью информации о цвете или глубине), а затем обнаруживает в них конкретные паттерны. Сглаживание обеспечивается интеллектуальным смешиванием пикселей в границах. MLAA имеет реализации на DirectX 10 и Mono Game (XNA). Он честно реализован в таких играх, как Fable II. Создатели MLAA позже создали SMAA, или Enhanced Subpixel Morphological Antialiasing (усовершенствованное субпиксельное морфологическое сглаживание), которое является основной темой данной статьи.

Smaa что это в играх. 87dfbdca228f68800444ba22d0c11c91. Smaa что это в играх фото. Smaa что это в играх-87dfbdca228f68800444ba22d0c11c91. картинка Smaa что это в играх. картинка 87dfbdca228f68800444ba22d0c11c91

Enhanced Subpixel Morphological Antialiasing (SMAA)

Smaa что это в играх. image loader. Smaa что это в играх фото. Smaa что это в играх-image loader. картинка Smaa что это в играх. картинка image loader

Сравнение SMAA и других методов в Crysis 2

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

Smaa что это в играх. image loader. Smaa что это в играх фото. Smaa что это в играх-image loader. картинка Smaa что это в играх. картинка image loader

Вверху — AA нет; в середине — MLAA; внизу — SMAA

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

Распознавание краёв

Распознавание краёв — важнейший этап, потому что нераспознанные края остаются искажёнными. С другой стороны, слишком большое количество краёв с фильтрацией снижает качество сглаженного изображения. Для распознавания края может использоваться различная информация: цветность, яркость, глубина, нормаль поверхности и их сочетание. SMAA по четырём причинам использует яркость (luma):

Smaa что это в играх. image loader. Smaa что это в играх фото. Smaa что это в играх-image loader. картинка Smaa что это в играх. картинка image loader

Слева и в центре: другие методы распознавания краёв, приводящие к появлению красных пересечений и артефактов; справа: совершенно чёткие края SMAA

Запомните это изображение. Вот как работает распознавание краёв: окончательное вычисленное значение — это булево значение, называемое граница левого края. Аналогичным образом вычисляются булевы значения для верхнего края. Формула:

Smaa что это в играх. 777c04cbe640fa782852460fb7f406c8. Smaa что это в играх фото. Smaa что это в играх-777c04cbe640fa782852460fb7f406c8. картинка Smaa что это в играх. картинка 777c04cbe640fa782852460fb7f406c8

Smaa что это в играх. 973d2ccea8e7fb5b2fc1b6bf5c90b235. Smaa что это в играх фото. Smaa что это в играх-973d2ccea8e7fb5b2fc1b6bf5c90b235. картинка Smaa что это в играх. картинка 973d2ccea8e7fb5b2fc1b6bf5c90b2350.5.c_$» data-tex=»display»/>

Все значения c называются дельтами контраста.

Обработка паттернов

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

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

Диагональные паттерны: мы добавили совершенно новый способ распознавания диагональных паттернов. Он состоит из двух следующих этапов:

Точный поиск расстояний: ключом к распознаванию и классификации паттернов является получение точного расстояния края (длины до обоих концов линии). Для ускорения этого процесса MLAA активно применяет аппаратную интерполяцию. Аппаратную билинейную фильтрацию можно использовать для получения и кодирования до четырёх различных значений за одну операцию доступа к памяти. Эта линейная интерполяция двух двоичных значений (то есть билинейная), создающая одно значение с плавающей запятой, описываемое следующей формулой:

Smaa что это в играх. 0a5573116bab80b884b01b8e23241c6d. Smaa что это в играх фото. Smaa что это в играх-0a5573116bab80b884b01b8e23241c6d. картинка Smaa что это в играх. картинка 0a5573116bab80b884b01b8e23241c6d

Где Smaa что это в играх. 33928bbbf870127ac7ea1d16c20c5f00. Smaa что это в играх фото. Smaa что это в играх-33928bbbf870127ac7ea1d16c20c5f00. картинка Smaa что это в играх. картинка 33928bbbf870127ac7ea1d16c20c5f00и Smaa что это в играх. 3d2637182371c2375a5f07278e0e9d10. Smaa что это в играх фото. Smaa что это в играх-3d2637182371c2375a5f07278e0e9d10. картинка Smaa что это в играх. картинка 3d2637182371c2375a5f07278e0e9d10— это два двоичных значения (0 или 1), а Smaa что это в играх. 817b92407f764f57af9226e50cc788fd. Smaa что это в играх фото. Smaa что это в играх-817b92407f764f57af9226e50cc788fd. картинка Smaa что это в играх. картинка 817b92407f764f57af9226e50cc788fd— значение интерполяции.

Результаты

MLAA работает с одним сэмплом на пиксель. Что приводится к субсемплированию, из-за которого реальные субпиксельные элементы воссоздать невозможно.

Smaa что это в играх. image loader. Smaa что это в играх фото. Smaa что это в играх-image loader. картинка Smaa что это в играх. картинка image loader

Сравнение MLAA с SMAA и отсутствием AA

Однако SMAA работает на субпиксельном уровне. Это приводит к следующему:

Источник

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

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

Smaa что это в играх. 1397411527. Smaa что это в играх фото. Smaa что это в играх-1397411527. картинка Smaa что это в играх. картинка 1397411527

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

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

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

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

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

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

Super-Sampling (SSAA)

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

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

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

Multi-Sampling (MSAA)

CSAA (Coverage Sampling AA)

Smaa что это в играх. . Smaa что это в играх фото. Smaa что это в играх-. картинка Smaa что это в играх. картинка

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

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:
Smaa что это в играх. small 1397357757. Smaa что это в играх фото. Smaa что это в играх-small 1397357757. картинка Smaa что это в играх. картинка small 1397357757 Smaa что это в играх. small 1397357766. Smaa что это в играх фото. Smaa что это в играх-small 1397357766. картинка Smaa что это в играх. картинка small 1397357766 Smaa что это в играх. small 1397357776. Smaa что это в играх фото. Smaa что это в играх-small 1397357776. картинка Smaa что это в играх. картинка small 1397357776 Smaa что это в играх. small 1397357790. Smaa что это в играх фото. Smaa что это в играх-small 1397357790. картинка Smaa что это в играх. картинка small 1397357790
FXAA:
Smaa что это в играх. small 1397357804. Smaa что это в играх фото. Smaa что это в играх-small 1397357804. картинка Smaa что это в играх. картинка small 1397357804 Smaa что это в играх. small 1397357812. Smaa что это в играх фото. Smaa что это в играх-small 1397357812. картинка Smaa что это в играх. картинка small 1397357812 Smaa что это в играх. small 1397357821. Smaa что это в играх фото. Smaa что это в играх-small 1397357821. картинка Smaa что это в играх. картинка small 1397357821 Smaa что это в играх. small 1397357832. Smaa что это в играх фото. Smaa что это в играх-small 1397357832. картинка Smaa что это в играх. картинка small 1397357832
DLAA:
Smaa что это в играх. small 1397357855. Smaa что это в играх фото. Smaa что это в играх-small 1397357855. картинка Smaa что это в играх. картинка small 1397357855 Smaa что это в играх. small 1397357864. Smaa что это в играх фото. Smaa что это в играх-small 1397357864. картинка Smaa что это в играх. картинка small 1397357864 Smaa что это в играх. small 1397357873. Smaa что это в играх фото. Smaa что это в играх-small 1397357873. картинка Smaa что это в играх. картинка small 1397357873Smaa что это в играх. small 1397357880. Smaa что это в играх фото. Smaa что это в играх-small 1397357880. картинка Smaa что это в играх. картинка small 1397357880
Сами по себе эти алгоритмы способны лишь устранить явную ступенчатость. Но, например, на длинных объектах тоньше пикселя (провода, верёвки) они ситуацию не спасают.
Впрочем, и использовать их надо не как самостоятельный АА, а лишь как дополнение к более брутфорсным братьям. Которое относительно дёшево позволяет немного повысить качество уже сглаженной картинки.

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

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

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

Smaa что это в играх. . Smaa что это в играх фото. Smaa что это в играх-. картинка Smaa что это в играх. картинка

Smaa что это в играх. . Smaa что это в играх фото. Smaa что это в играх-. картинка Smaa что это в играх. картинка

Smaa что это в играх. . Smaa что это в играх фото. Smaa что это в играх-. картинка Smaa что это в играх. картинка

Smaa что это в играх. . Smaa что это в играх фото. Smaa что это в играх-. картинка Smaa что это в играх. картинка

Smaa что это в играх. . Smaa что это в играх фото. Smaa что это в играх-. картинка Smaa что это в играх. картинка

TXAA (Temporal AA)

Smaa что это в играх. . Smaa что это в играх фото. Smaa что это в играх-. картинка Smaa что это в играх. картинка

Smaa что это в играх. . Smaa что это в играх фото. Smaa что это в играх-. картинка Smaa что это в играх. картинка

Smaa что это в играх. . Smaa что это в играх фото. Smaa что это в играх-. картинка Smaa что это в играх. картинка

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

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 как почти-бесплатный — и радуйся бескомпромиссному качеству картинки.

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

Источник

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

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