Меню
StopGame  Блоги Персональный блог Об играх — изнутри [Spin-Off] Anti-Aliasing (AA) в современных играх

Самое актуальное

  • Инфакт от 22.06.2017 — Star Wars от Visceral Games, L.A. Noire, God of War…
  • Красота спасает South Park: The Fractured But Whole (интервью с E3 2017)
  • Видеопревью игры Medieval Kingdom Wars
  • Разбор полетов. Rule of Rose
  • Обзор игры Conarium
  • Обзор игры Arms
  • Инфакт от 21.06.2017 — Anthem, HITMAN, Crackdown 3, ремейк Half-Life…
  • Видеопревью игры Wolfenstein 2: The New Colossus
  • Инфакт от 20.06.2017 — Call of Duty: WWII, Frostpunk, Killer Instinct, Horizon…
  • Превью по пресс-версии игры Fortnite
  • Инфакт от 19.06.2017 — Horizon: The Frozen Wilds, Ataribox, OpenIV, HITMAN
  • Трейлер Skull & Bones на русском языке
  • Трейлер A Way Out на русском языке
  • Трейлер Beyond Good & Evil 2 на русском языке
  • Crossout. Колесницы из говна и палок
  • Хоррор-уикенд на StopGame.ru! Dead by Daylight
  • Playerunknown's Battlegrounds. Голодное королевство игр
  • ММОдерн №154 — Skull & Bones, Kingdom Under Fire 2, Dark and Light…
  • Превью (E3 2017) к игре Skull & Bones
  • Обзор игры AereA
  • E3 2017. Превью Skull & Bones — Мультиплеер про пиратов
  • E3 2017. Превью The Crew 2 — правильная Need for Speed?
  • Превью (E3 2017) к игре Assassin's Creed: Origins
  • Превью (E3 2017) к игре Crew 2, The
  • Инфакт от 16.06.2017 – Запрет модов для GTA, Beyond Good & Evil 2, Forza Motorsport 7…
  • Пользовательский обзор недели
  • E3 2817. Превью Far Cry 5 — где наркота?!
  • E3 2017. Assassin’s Creed: Origins — триумфальное возвращение?
  • Трудности перевода. Horizon: Zero Dawn
  • Инфакт от 15.06.2017 [игровые новости] — Call of Duty: WWII, The Evil Within 2, Anthem, Escape from Tarkov…

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

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



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

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

Чтоб разобраться, что это за зверь такой — "антиалайзинг" — и с чем его едят, надо сперва выяснить, что такое «алайзинг» (aliasing) и откуда он берётся.
Внимание!
Расстановка точек над АА невозможна без некоторой суровой теории. И картинки по ходу тоже будут не красивыми скриншотами из ААА-игр, а специальными синтетическими примерами.
Если тебе такое не по силам / не интересно — крути вниз, к кратким выводам.

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

Допустим, у нас в кадре есть чайник (так уж повелось у 3D-шников: брать его в качестве болванки).
Иллюстрация
Для камеры он будет выглядеть вот так:
Я специально беру экстремально низкое разрешение
Каждая ячейка — это отдельный пиксель.

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

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

Как ты уже, наверняка, понял, лишь одна эта точка раскрашивает весь пиксель. Хотя на самом деле должна влиять вся область, которую он охватывает.
И в компьютерной графике в принципе нет способа «по-честному» вычислить именно цвет области. Только так: стреляем семпл (англ sample, «проба») в каком-то направлении -> находим, куда он попал -> вычисляем там цвет -> назначаем цвет этого семпла соответствующему пикселю.
В результате — возникает сразу 2 проблемы:
1. Любой семпл в любую поверхность может либо попасть, либо нет. Только 2 варианта. Поверхность не может находиться в пикселе частично.
2. В связи с этим — рендеринговый движок может вообще «не увидеть» поверхность в каком-то пикселе. Просто потому, что соответствующий семпл в неё не попал.
Это и порождает тот самый злосчастный алайзинг

Но даже на этом беды не заканчиваются. Как следствие, вылазит ещё одна проблема: муар.
Это такой неестественный эффект, который вылазит на мелкой-мелкой повторяющейся фактуре:
словами его не объяснишь

Слева — муар, справа — то, что должно быть:

Своего врага мы теперь знаем в лицо. Осталось разобраться, как с ним бороться.

Super-Sampling (SSAA)

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

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

Random / Stochastic:

Poisson disc:

Jittered:

Rotated grid:
Так что если ты увидишь в меню варианты вида «SSAA grid» и «SSAA rotated grid» — ты поймёшь, что речь как раз об этом. Grid — это самый первый (самый «дубовый») вариант, все остальные выглядят лучше при том же числе семплов.

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

Multi-Sampling (MSAA)

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

А также добавлено хитрое размытие/усреднение в проблемных местах. Так что даже без дополнительных семплов MSAA уже немного «гасит» алайзинг.
Визуальное сравнение SSAA и MSAA
Для наглядности я специально набросал в Юнити такую примитивно-контрастную сцену, чтоб можно было оценить антиалайзинг изолированно от всего остального.
SSAA:

MSAA:

Как видно, MSAA немного размывает картинку. И оттого она получается не столь корректной, как при «честном» SSAA. Но он гораздо быстрее по производительности, что позволяет, скажем, вместо SSAAx2 использовать MSAAx4.

CSAA (Coverage Sampling AA)

Разработка от NVIDIA. Это просто слегка усовершенствованный алгоритм MSAA. Делает то же самое, но немного по-другому, а оттого — ощутимо быстрее.
Грубо говоря, 8xCSAA позволяет получить почти такую же картинку, как при 8xMSAA, но при этом видеопамяти требует немногим больше, чем 4xMSAA.
Синтетическая демонстрация CSAA

Есть также симметричный алгоритм от AMD — CFAA (Custom-Filter AA).

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

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, FXAA, DLAA
NFAA:

FXAA:

DLAA:

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

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

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

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


MLAA (MorphoLogical AA) — неожиданный «ход конём». В отличие от всех остальных видов антиалайзинга, этот работает не на видюхе, а на проце. Ощутимо медленнее, чем FXAA, зато и картинка гораздо корректнее.
Демонстрация оригинального MLAA от Intel на SIGGRAPH 2011
Демонстрация одной из реализаций MLAA на GPU от автора


SMAA (Subpixel Morphological AA) — смесь двух предыдущих. По сути своей — усовершенствованный FXAA, но:
а) он также использует алгоритм MLAA;
б) он очень тесно связан с SSAA/MSAA.
Для игрока это означает следующее: этот режим хоть и медленнее FXAA, но быстрее MSAA. Зато текстуры он не блюрит, и вообще по качеству соизмерим скорее со вторым, чем с первым.
Эпичная видео-демонстрация SMAA от СryTek под саундтрек из TRON: Legacy (vimeo)
Для ленивых — перезалив на YouTube (ничего не видно из-за сжатия, лучше смотри на vimeo)


TXAA (Temporal AA)

Самая убер-новая мега-последняя гипер-крутая технология сглаживания от NVIDIA.
Она комбинирует все существующие алгоритмы антиалайзинга: MSAA, пост-эффектный AA (TAA), а также собственный нвидишный новый фильтр временного (temporal) сглаживания.
До этого момента мы рассматривали неподвижную картинку. Но когда объекты в кадре движутся, они постоянно то попадают под новые семлы (в новые пиксели), то покидают их. В результате — возникает весьма неприятный эффект «дребезжания», который особо заметен при очень медленном движении (доля пикселя за кадр) и очень мелкой фактуре объектов (ширина полигона — примерно пиксель).
По идее, с этим эффектом уже весьма удачно справляется SMAA, но нвидия решила возвести решение этой проблемы в абсолют. Короче, лучше один раз увидеть, чем 100 раз услышать:
TXAA в the Secret World
TXAA в Assassins Creed III
TXAA в Unreal Engine 4 (примерно 0:28)

В отличие от SMAA, TXAA немного блюрит (размывает) картинку. Зато характерного «дребезжания» нет вообще.
ИЧСХ, во всех демонстрациях TXAA почему-то сравнивают не с другими режимами антиалайзинга, а с его отсутствием. Мне лично кажется, что в паре SMAA-TXAA выиграет первый, но по ютубу оценить трудно, а у самого прогнать синтетические тесты — нет возможности. Так что, как говорится, на вкус и цвет.

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

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

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

Печально, но факт)) Хотя на старых игрушках я себя просто б-ом чувствую, типа: «Ну вот мы и встретились, Gothic 3, муха-ха-ха...»))
Gothic 3… У меня наверно даже она лагать будет) Не надо покупать ноуты с вшитыми в проц видюхами от АМД: у них отдельная видюха вообще по моему никогда не включается)
Огромное спасибо за пост, теперь хоть буду знать, что выбирать. Как я понял, после SSAA самый качественный это SMAA, да? А вообще, меня обычно полностью устраивает FXAA, если при использовании других видов лагает.
Правильно.
А мне вот интересно, когда вместо спрайтового дыма/взрывов в играх будет вот такой, реалестичный
Именно такая волюметрика (честная, и притом хорошего качества) — в играх появится ещё нескоро.
Но волюметрика в принципе:
NVIDIA FlameWorks

Правда, даже в таком качестве и даже на «титанах» — скорости пока что далеки от приемлемых.
Просто один плевок дракона будет рендериться столько же сколько вся остальная сцена. =)
Но если игра заточенна именно под использование и демонстрацию именно такого эффекта (читай TressFX), то почему бы и нет? ))
Сделать эффект замедления времени и дать возможность железу посчитать.
Хотя… замедление, наверное, тоже жрет ресурсы.
Так в эффекте замедления времени рассчитывать нужно все равно все при каждом кадре =)
Ох, помню на первых видюхах всегда отключал сглаживание, ибо фпс падал в разы, и глаз меня лесенки не резали, думал что сглаживания для топовых видюх. Шло время и попала ко мне такая замечательная игрушка, как Xenus. Конечно, на высоких лагала безбожно, поэтому приходилось подбирать настройки низко-средние с минимальными потерями качества картинки. И тут-то я впервые поставил сглаживание х4, на удивление фпс почти не изменился, но картинка даже на моих низко-средних преобразилась сразу же. И это как наркотик, после этого я не мог играть без сглаживания ни в одну игру, при этом х4 вполне хватало, и производительность обычно не падала. Тогдашнее разрешение было 1024*768 и здоровенный монитор на пол стола. А сейчас у меня другой вопрос: зачем нужна вертикальная синхронизация? На вики конечно про неё читал, но визуально не замечаю разницы, включаю лишь для ограничения фпса в некоторых играх, дабы карточку не гонять сильно.
Верт.синхр. устраняет разрывы при смене кадров, если приглядеться, то в динамических сценах будут видны некоторые искажения. Синхронизация как бы смягчает сцены, делая их реалистичнее.
Хм, не замечал. Может оно и к лучшему? А то замечу и начнет очень сильно мозолить глаза, а так вроде бы и пофигу.
Сам долгое время не замечал.
бывает при резких поворотах камеры картинка как бы рвется на части чучуть. Именно этот момент синхронизация устраняет.
Очень интересный способ не гонять карточку. При включенной вертикально синхронизации видеокарта отрисовывает один и тот же кадр несколько раз. Отсюда и значительное падение фпс.
Черт, жалко за каждую твою статью нельзя плюс в профиль ставить. Я всю эту техническую инфу, особенно про сглаживание, раньше гуглил и либо натыкался на жутко перегруженный матан с графиками и прочими заклинаниями, либо простенькие выводы типа «экспериментируйте сами». Наконец-то мне кто-то разъяснил понятно и интересно. Спасибо за труды и будем ждать продолжения.

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

Интересно это как-то связано с той дилеммой из Oblivion? Либо сглаживание, либо HDR
нет, HDR — это HDR. а deferred… либо в третьей части расскажу об этом, либо в четвёртой.
по ходу, уже в четвёртой.
Хм… а бывали на сг случаи, когда одному и тому же человеку давали 3 раза подряд косарь?
Если нет, то возможно скоро такой случай будет ;)
Келебро давали. Правда не подряд. А потом его взяли работать на СГ.
Ну я, на самом деле, тоже не прочь попробовать себя в рядах SG-шных авторов. Если это не фулл-тайм и не будет мешать основной работе.
Но вот тут сказано, что коллектив уже устоявшийся, и им особо никто не нужен. Напрашиваться не вижу смысла.
Хотя тем — много, до пенсии хватит. И, по ходу, я таки нашёл ту аудиторию, которой мои около-профессиональные разглагольствования интересны.

В общем, закончу эту серию — а там посмотрим.
Показать картинку
Спасибо Друже! отличная серия статей, жду 3ю часть с нетерпением, читать очень интересно и познавательно, сейчас сам усиленно изучаю юнити и эта информация очень кстати для общего развития!)
В гта 4 бесило отсутствие сглаживания. После узнал, что можно врубить FXAA через настройки nvidia
А больше ресурсов ест сглаживание, или разрешение монитора?
SMAA при 1080p vs FXAA при 4k
FXAA практически бесплатен (нагрузка чуть больше, чем вообще никакой).
SSAA — это, считай, «повысили разрешение в N раз, потом уменьшили обратно». Т.е., 1024*576 с SSAA 2x2 (4 семпла на пиксель) — это всё равно, что 2048*1152. Т.е., даже медленнее, чем ФуллХД.
Все остальные виды АА — существенно быстрее, чем SSAA.
SMAA — это смесь FXAA и MLAA.

Самая высокое число семплов в АА — 16.

Так что конкретно в твоём примере — вывод очевиден: если не рассматривать «дубовый» SSAA, то 1080p с любым антиалайзингом гарантированно будет быстрее, чем 4K даже без него вообще:
1080p даже с MSAA 16x — это всё равно быстрее, чем 1080p с SSAA 16x.
А 4K = 1080p + SSAA 16x.

А вообще,
самому погуглить конкретные сравнительные цифры - уже совсем никак?
P.S.: внезапно для себя обнаружил, что на современном железе SMAA по скорости практически равен FXAA. Но это зависит от многих факторов, так что показатель весьма плавающий.
Сори за некропостинг, но
А 4K = 1080p + SSAA 16x.
штааа???
4К = 1080p * 4. Соответственно если при 1080p взять 4 семпла на пиксель, это и будет 4K.
Ответ писался после бессонной ночи. Напутал с цифрами. Конечно же, там x4, из-за чего все вычисления не верны.
Но я этого не заметил, т.к.вывод всё равно сходится.
В третьей части хотелось бы узнать, чем отличаются 16x CSAA от 16xQCSAA (или 8x CSAA от 8xQ CSAA). И почему нет 2xQ CSAA или 4xQ CSAA.
В третьей части этого не будет. Про АА — тут.

Q — означает «Quality». Т.е., алгоритм немного изменён так, что качество чуть выше, скорость чуть ниже. И под этой волшебной буквой может скрываться всё, что угодно. Вопросы к разработчикам.
Так что надо гуглить в каждом конкретном случае, что именно делает Q-модификация.

Отсутствие 2xQ CSAA может быть по двум причинам: либо алгоритм в принципе требует как минимум 4 семпла на пиксель (или кратное им), либо разрабы просто решили, что 2xQ CSAA от просто 2xCSAA практически не отличается, так что незачем путать игрока.
Гениально! Пошел лазить по играм и настраивать сглаживание :) С большим монитором действительно лучше разбираться в предмете, и теперь без «гуглений» можно это сделать благодаря тебе. Мое почтение.
ЗЫ. Не помню, чтобы в блогах когда-либо меня что-то так забирало, как эта серия постов.
Самый холиварный вопрос — какой вид сглаживания красивее, лучше, по-феншую? (нужное подчеркнуть)
Подозреваю, что на цвет и вкус фломастеры разные. Но я так понял, что самую вкусную картинку дает Full Scene AA + пост-эффектный AA. Что-то вроде MSAA(или CSAA)+SMAA?
Ну и в контексте сравнения NFAA, FXAA, DLAA мне больше всего понравился FXAA, что несколько неожиданно, ибо типо «самый дешевый» о.О

P.S. Серия статей даже заставила меня откопать логин/пароль на SG. =)
Я ж в статье высказал своё субъективное мнение: лидеров — три: MSAA, SMAA и TXAA.
MSAA — слишком тормозной.
А в паре SMAA/TXAA — мне лично больше нравится первый. Картинку не мылит, временное сглаживание тоже делает (хотя это не его основная задача), и, к тому же, ощутимо быстрее.

А для номинального сглаживания — FXAA.
Просто SMAA, если я все правильно понял, чисто пост-эффектный аа, то есть работает с уже готовой 2д картинкой, а значит могут потеряться те детали, которые на эту 2д картинку не попали ввиду дискретности. Так же как и TXAA. Просто не совсем понимаю как эти фильтры могут с этим бороться? Или борются так себе, но таков уж компромис в борьбе за фпс?
могу ответить только одно: погугли.
Если вкратце:
MLAA (который в основе SMAA) воссоздаёт векторную форму из пикселей, а потом её по новой растеризует.
Ну и да, SMAA — у него «субпиксельный» не просто так в названии. Он, хоть и пост-эффектный, но работает с семплами (субпикселями) напрямую. Так сказать, он «проложил себе отдельный низкоуровневый мостик» в графическом пайплайне.
Ах вон оно что! Спасибо за ответ и ваше время! =)
Спасибо, камрад. Очень доходчиво и интересно. Жду новые статьи.
Тогда милости прошу: stopgame.ru/blogs/topic/55951
а что за девушка на первом скриншоте?)
Чей-то перс из Secret World.
ключевые слова для поиска: «Secret World», Antialiasing, TXAA, comparison
спасибо)
Уважаемый, могу сказать только спасибо. За труды, плюс, без оговорок!
Держи, заслужил.

У старика для тебя и Няша есть!
Так же, старик завидует твоему мастерству:D
Кстати а какой тип сглаживания использовался в Максе Пейне, ибо эта первая игра на моей памяти, где сглаживание появилось в опциях видео (В первой части х8, а во второй и х16)
Понятия не имею, я в него не играл.
Всё очень доходчиво расписано, большое спасибо за статью. Интересует меня теперь вот что, что будет более производительным решением, игра в низком разрешении но со сглаживанием, или без сглаживания в максимальном разрешении?
Уже отвечал в комментах выше.
Низкий поклон за труды! Тебе в пору вести свой постоянный блог! Хотя прекрасно понимаю, что находить время для подобных статей очень непросто. А ведь рассказать еще есть о чем…
На голом энтузиазме постоянный блог далеко не уедет. Посмотрим, что выйдет из этого.
Уважаемый автор, качество статьи вполне научно-популярное и гораздо выше уровня блогов SG, рекомендую, немного подредактировав, выложить на habrahabr в соответствующий раздел.
Взял и опустил всех :(
посмотрим
Привет, огромное спасибо за статьи) очень интересно и познавательно, вообще люблю кухню.
Но можно спросить, если не затруднит.

Если тесселяция появилась только на DR11, то я не как не пойму есть она на Xbox360 и PS4 или там используется что-то своё?

Спасибо большое, еще раз.
Там только нормал бамп.
На x360/ps3 — только карты нормалей.
На PS4/XBONE — а чёрт его знает. Я точной инфой не располагаю (мы на эти платформы ничего не делали). В любом случае, тесселяция есть и на DX11, и на OGL4. Реализации — разные. Но это те же яйца, только сбоку.
Так что я почти уверен, что в каком-то виде — на консолях нового поколения оно либо уже есть сейчас, либо появится в скором будущем. Архитектура новых консолей позволяет их обновлять гораздо более существенно, чем предыдущие.
По сути, хоть в каком-то виде — всё, что есть на ПК, может быть на новых консолях, и наоборот.
Если вдруг материал закончится;)
Хорошая книжечка, многие хвалят. Сам не читал.
Материал же не закончится. Просто всё никак нет времени. И хз, когда оно появится.
Интересно, узнал много нового. Пойду пинать свою офисную видеокарту с 512 памяти, пока она не начнет показывать мне TXAA :D
Следует добавить, что SMAA обычно комбинируется в виде:
SMAA,SMAA 1x = SMAA
SMAA T2X = SMAA + Temporal AA
SMAA S2 = SMAA + MSAA 2x
SMAA 4x = SMAA + Temporal AA + MSAA 2x
Вот спасибочки, обожаю разжеванный материал! )) Как раз недавно на примере фолача 4го возник вопрос, почему различие картинок с MSAA и SSAA на мой взгляд если и не бросается в глаза, то уж точно серьёзно ощутимо. Читал о паст-гене и тут такой кошерный подгон о сути АА.

В общем ещё раз большое спасибо за статьи, работа колоссальная!
Для комментирования необходима регистрация.
Прямой эфир «Блоги»
Обезьянья курилка
Блог курилок и длинных разговоров
Как начать играть в D&D (и не только)
Персональный блог пространных рассуждений
[ХАЛЯВА] Юбилейное место раздачи халявы V10!
Персональный блог Ивана Лоева
Rule of Rose
Блог davidku
Впечатления о новых играх прямиком с E3 2017
Персональный блог Дениса Бейсовского
Ratchet & Clank
Блог goodgamerbest
StopGame Live — июнь
Блог StopGame
[запись] Блогозамес в Left 4 Dead 2!
Персональный блог Goordoon'а
Стрим Resident Evil Zero от 20.06.2017
Персональный блог «Независимая Конторка»
WhiteDay
Блог обзорщиков
Resident Evil: Vendetta или мини-рецензия.
Персональный блог «Независимая Конторка»
Наверх ↑