Сглаживание mlaa – Типы сглаживания в играх

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

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

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

Почему возникает «зубчатость»? Проблема в том, что мониторы современных ПК состоят из квадратных пикселей, а значит на них действительно прямыми будут только горизонтальные и вертикальные линии. Все линии, находящиеся под углом, будут строиться из пикселей, находящихся по диагонали друг к другу, что и вызывает «зубчатость». К примеру, справа на картинке — вроде бы ровная линия. Однако стоит ее увеличить, как сразу становится видно, что никакая она не прямая:

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

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

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

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

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) — нетребовательное быстрое сглаживание. Алгоритм прост — совершается один проход по всем пикселям изображения и усредняются цвета соседних пикселей. Это слабо нагружает видеокарту, однако сильно мылит картинку (обратите внимание на четкость текстуры камня), делая далекие объекты вообще неузнаваемыми:

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

MLAA (MorphoLogical anti-aliasing) — аналог FXAA от Intel. Работает схожим образом, однако алгоритм сложнее — все изображение разбивается на Z, L и U -образные части, и сглаживание происходит смешением цветов пикселей, входящих в каждую такую часть:

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

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

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

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

Итог

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

www.iguides.ru

Краткий обзор по сглаживанию в играх

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

Что такое сглаживание? Наиболее простой ответ дает Википедия.
Сглаживание (anti-aliasing, AA, антиалязинг, антиалайзинг и тд) — технология, используемая для устранения эффекта «зубчатости», возникающего на краях одновременно выводимого на экран множества отдельных друг от друга плоских, или объёмных изображений. Сглаживание было придумано в 1972 в Массачусетском технологическом институте в Architecture Machine Group.
Что бы вам не пришлось много читать, сразу приведу основные варианты сглаживаний. Точно так же они обычно обозначаются и в играх.
SSAA, MSAA, CSAA, NFAA, FXAA, DLAA, MLAA, SMAA, TXAA.

Начну с самого крутого, правильного качественного и самого «жрущего» сглаживания – SSAA или по-другому — Super-Sampling. Простой пример потребляемых ресурсов этим методом сглаживания: для разрешения 1280×1024 с SSAA 4x необходим экранный буфер такого же размера, как при разрешении 2560×2048 без SSAA. Размытие картинки – НЕТ. Еще этот метод сглаживания называют FSAA. Рекомендую применять владельцам только самых топовых ПК (видеокарт).

MSAA – улучшенный вариант суперсемплинга (SSAA). Практически такой же по качеству, но требующий меньшее количество ресурсов видеокарты, по сравнению с SSAA. Размытие картинки – очень незначительное, практически не уловимое. И хотя этот метод сглаживания требует меньше ресурсов, чем его первый собрат, этот вариант АА так же рекомендуется владельцам топовых видеокарт.

CSAA – разработка NVIDIA. Усовершенствованный (немного) MSAA. Качество картинки примерно на уровне MSAA 8x, но по ресурсам ест как MSAA 4x. Размытие картинки – незначительное, практически не уловимое. Из последних игр, в которых его использовал – Star Wars Battlefront (DICE).

FXAA – известен своим низким требованиям к видеосистеме. Сглаживает вполне прилично, я бы сказал хорошо. Но есть один недостаток, который заметен, скажем, при сравнении с MSAA – «замыливание» картинки. Оно больше, чем среднее. Подойдет для тех, кто не терпит лесенки, но не может себе позволить предыдущие алгоритмы сглаживания.

MLAA – малоизвестный алгоритм сглаживания. Единственный алгоритм, который работает за счет процессора, а не видеокарты. Он не зависит от сложности сцены, так что можно гарантировать отсутствие «подтормаживаний» в любой момент. Intel позиционирует MLAA как конкурента MSAA. Если судить объективно, MSAA работает немного медленней, но и качественней. По сравнению MLAA с FXAA первый будет медленнее, но при этом качество картинки – без заметного «замыливания».

SMAA – смесь FXAA и MLAA. По скорости находится между FXAA и MSAA. По качеству – картинку практически не блюрит.

TXAA – новый алгоритм сглаживания. Сочетает преимущества MSAA и FXAA. Разработка NVIDIA. Сглаживает ОЧЕНЬ качественно. TXAA 4x = MSAA 8x. Хотя порой первый даже лучше. НО. TXAA «мылит» картинку. «Блюрит» ее. И если сравнивать с MSAA – последний выглядит лучше.

Итог: чОткий, но самый древний алгоритм сглаживания – SSAA. MSAA – очень хороший по качеству, но ест заметно много ресурсов. CSAA – практически такой же по качеству, но ресурсов ест меньше. FXAA – если видеокарта не позволяет, но «сглаживать» хочется, то этот вариант для вас. MLAA – на него можете забить. SMAA – нормальный вариант, можете его опробовать. TXAA – сглаживает очень хорошо. Очень. Но блюр очень раздражает. Поэтому могу рекомендовать этот алгоритм, если вам плевать на «замыливание».

Кстати. В разрешении 4k сглаживание порой вовсе не требуется. Либо можно применить самое простое CSAA или MSAA 2x. Не более. Интересно, как сложится картина лет через 5-7, когда 4k разрешение приобретет массовость. Я специально не стал приводить примеры комбинирования разных методов сглаживания, что бы не вызвать у вас путаницы. Достаточно этих алгоритмов, что бы вы могли определиться, какое сглаживание подходит для вашей системы и для вашего восприятия.

Автор: Delta_Massimo

greentechreviews.ru

Сглаживание. Какое лучше?

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

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

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


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


В играх может использоваться, когда видеокарте не хватает мощности для вывода изображения в высоком разрешении, где все детали плавные и приятны глазу. Если AntiAliasing отрабатывает хорошо и качественно, то из-за этого страдает производительность, падает фпс в играх. Если сглаживает плохо, то страдает графика, появляется замыливание картинки, артефакты. Поэтому, если есть возможность играть при высоком разрешении и фпс при этом падает не на много, не включайте AA, играйте на высоком. Так же из особенностей, сглаживание «лесенки» может быть включено на уровне настроек видеокарты и при этом еще и на уровне приложений. Эффект при этом «усиливается», если используется первый и второй тип сглаживания. Поэтому если собрались испытывать антиальясинг, убедитесь чтобы оно было включено где то в одном месте, дабы не получить замыленность.

Первый тип

Влияние на фпс прямое, в зависимости от метода и пропускной способности видеопамяти.

SSAA (SuperSample Anti-Aliasing, Избыточная выборка сглаживания) — Самое тяжелое, но и самое качественное и жутко нагружающее видеокарту. В ускорителях применяется регулярная маска размером от 2×1 до 4×4. От этого и появляется нагрузка, при разрешении 1920×1440 и маске 2х2 строится кадр с разрешением 3840х2880 (что требует памяти в 4 раза больше), после этого, усредняются цвета всех суб-пикселей в маске и уже после кадр сжимается и подается на вывод на экран в исходном разрешении.
Существовала технология в основном до DirectX 8, пока не появился MSAA. Из-за большого влияния на фпс от него отказались. Но так как мощность видеокарт перманентно росла, NVIDIA его вернули в строй и используется для игр с поддержкой DX9, DX10, DX11.
Хотите 60 фпс? Тогда сами сможете прикинуть под какой нагрузкой будет работать видеоадаптер. Однако, от картинки вы получите наслаждение. Данный метод рекомендуется обладателям производительных видюх для современных игр.

MSAA (MultiSample Anti-Aliasing, Множественная выборка сглаживания) — пришел на смену SSAA, потребляя меньше ресурсов, но и результат дает немного другой. Изображение по-прежнему рендерится в большем разрешении, но производительность достигнута за счет AA только краев объекта, а не всей картинки как в SSAA. Из минусов, на прозрачных полигонах (стекла, вода..) данный метод не работает, поэтому лесенку иногда можно лицезреть. И так как сглаживается только часть изображения, то можно наблюдать еще и артефакты. Плюс несовместимость с методом отложенного освещения. Нужно помнить, что MSAA выгоднее юзать на низких разрешениях. Чем оно выше, тем накладнее по ресурсам. Так же рекомендуется обладателям топовых видеокарт, с большим количеством видеопамяти.

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

Другими словами:
SSAA — сглаживает всю сцену
MSAA — сглаживание происходит только по краям объектов
CSAA — за счет добавления сэмплов перекрытия, сглаживание краев объектов происходит с учетом соседних пикселей. Т.е. тут сделан упор на качество кадра, практически при том же уровне уровне нагрузки на видеокарту, что и у MSAA.

FSAA (Full Scene Anti-Aliasing, Полноэкранное сглаживание) — То же что и SSAA, но от AMD и с небольшими отличиями.

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

EQAA (Enhanced Quality Anti-Aliasing, Сглаживание повышенного качества) — У NVidia — CSAA, у AMD — EQAA. Отличаются положениями сэмплов и в зависимости от режима их количеством.

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

TrAA (Transparency Anti-Aliasing, Прозрачное сглаживание) — тоже что и AAA, только от NVIDIA.

TrAAA (Transparency Adaptive Anti-Aliasing, Адаптивное Прозрачное сглаживание) — см. TrAA

TrMSAA (Transparency Multi-Sampling Anti-Aliasing, Прозрачная множественная выборка сглаживания)  использует краевой метод (MSAA) для прозрачных объектов. Разновидность TAAA. Может обозначаться как TMAA

TrSSAA (Transparency Super-Sampling Anti-Aliasing, Прозрачная полноэкранная выборка сглаживания) 
 использует полноэкранное сглаживание (SSAA) для прозрачных объектов. Разновидность TAAA. Может обозначаться как TSAA

OGSSAA  (Ordered Grid SuperSampling Anti-Aliasing, Избыточная выборка сглаживания с упорядоченной решеткой) — Классический SSAA в котором используется решетка с упорядоченной выборкой, выровненная по вертикали и горизонтали.

RGSSAA (Rotated Grid SuperSampling Anti-Aliasing, Избыточная выборка сглаживания с повернутой решеткой) — Все тот же SSAA, с уточнением расположения решетки наклоненной под определенным углом. Данный метод показывает качество немного лучше, чем  OGSSAA, при почти горизонтальных или вертикальных краях объектов (слегка наклоненных).

SGSSAA (Sparse Grid SuperSampling Anti-Aliasing, Избыточная выборка сглаживания с разряженной решеткой) — выборки располагаются на регулярной сетке, как в OGSSAA. Но выборка производится лишь на некоторых узлах сетки. Здесь заложен компромиссный подход между производительностью и качеством изображения. Метод используется у NVidia

JGSSAA (Jittered Grid Super-sampling Anti-aliasing, Избыточная выборка с искаженной решеткой) — каждый пиксель так же разбивается на субпиксели, но выборка сэмплов располагается случайно (Стохастическая) или со смещением внутри субпикселя.

HRAA (High-Resolution Anti-Aliasing, Полноэкранное сглаживание для высоких разрешений) — метод полноэкранного сглаживания в NVIDIA с 5-ю сэмплами. Качество как 4xSSAA, по нагрузке как 2xSSAA.

HRAA (Hybrid Reconstruction Anti-Aliasing, Гибридное сглаживание) — решение использующее лучшие практики, на основе краевого метода (MSAA, CSAA), постобработки с аналитикой и временного антиалиасинга.

EDAA (Edge Detect Anti-Aliasing, Краевое сглаживание) — так же краевой метод + обсчитываются контрастные переходы еще и на объектах и текстурах. Что в итоге сильнее садит fps. Условно можно назвать это аналогом CSAA, только от AMD. Это разновидность CFAA, описанного ниже.

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

QAA (Quincunx Anti-Aliasing, Шахматное сглаживание ) — метод от NVidia, в основе которого лежит учет не только своих субпикселей, но и данные берутся от соседних. При этом, при расчете финального цвета, свой сэмпл имеет вес больше, чем данные с соседних. В расчет берется 5 точек. По качеству 2xQSAA, приблизительно так же выглядит как 4xMSAA.

FAA (Fragment Anti-Aliasing, Частичное Сглаживание) — разработана компанией Matrox. Сглаживание применяемое к краям объектов. Отличие от SSAA и MSAA, в том, что края и сами объекты не увеличиваются в несколько раз по маске. Каждый пиксель делится на 16 частей и если покрытие полное, то пиксель отправляется в кадровый буфер, если неполное, то уходит в отдельный буфер. Такой пиксель считается фрагментированным, при чем в дальнейшем над ним проводится анализ и он видоизменяется. Такая реализация очень сильно экономит ресурсы видеокарты. Но есть и проблема, алгоритм определения краев не всегда корректно обнаруживает те самые края. Проблема с прозрачными объектами во всей красе.

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

TSSAA (Temporal Super Sampling Anti-Aliasing, Временная избыточная выборка сглаживания) — Этот метод, что и TXAA, только не привязан к видеокартам NVIDIA и завязана на суперсэмплинг.


Второй тип
Влияние на фпс слабое. Так называемые методы пост-обработки, когда сглаживание происходит в момент вывода изображения на экран.

FXAA (Fast approXimate Anti-Aliasing, Быстрое приблизительное сглаживание) — разработка NVidia. Из названия видно, что это более производительное сглаживание по-сравнению с традиционным MSAA. Алгоритм использует простой способ обнаружения разрыва цветов фигур. В момент вывода изображения на экран усредняются по цвету все соседние пиксели. Это не нагружает видеокарту, но жутко мылит кадр. Далекие и затуманенные объекты в игре будут почти не узнаваемы. Такое сглаживание имеет смысл включать на слабых машинах, ноутбуках, нетбуках и прочих эконом вариантах.

MLAA (MorphoLogical Anti-Aliasing, Морфологическое сглаживание) — условный аналог FXAA. Методика придумана компанией Intel. Алгоритм, ищет пиксельные границы на каждом кадре, похожие на Z, L и U буквы и смешивает цвета соседних пикселей, входящих в каждую такую часть. Алгоритм переведен на использование процессора, а не GPU. Отсюда можно рекомендовать его обладателям слабых видеокарт и с более менее производительным процессором. Из-за более сложного алгоритма изображение получается более качественным, чем с FXAA. Имеется реализация у AMD, но технически может использовать и NVidia. Есть проблема: сглаживание не отрабатывает на прозрачных текстурах. Поэтому в довесок этой постобработки нужно подключать еще и TrAA для улучшения изображения. Время обработки занимает 0,9 мс. Так же есть методики MLAA реализованные на GPU.
 
SRAA (Subpixel Reconstruction Anti-Aliasing, Субпиксельное восстанавливаемое сглаживание) — новый двухпроходный алгоритм от NVidia. SRAA очень схожа с MLAA , но работает с буферами глубины и картами нормалей, из-за чего лучше определяет границы для сглаживания и затененные края. Время выполнения в целом очень низкое, основное время в алгоритме  уходит на обработку затенения. На выходе могут появляться артефакты. Для сравнения на сглаживание изображения с разрешением 1280×720 методом SSAA уходит около 5-10 мс, а у SRAA примерно 1,8 мс.

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

  • SMAA 1x: классический алгоритм SMAA, включающий точный поиск расстояний, работа с локальным контрастом для определения краев, геометрических объектов и поиск диагональных линий. Время обработки занимает 1,02 мс.
  • SMAA T2x : SMAA 1x +техники из TSAA. Время обработки занимает 1,32 мс.
  • SMAA S2x : SMAA 1x +техники из MSAA. Время обработки занимает 2,04 мс.
  • SMAA 4x   : SMAA 1x +техники из SSAA/MSAA  и TSAA/TMSAA. Время обработки занимает 2,34 мс.

 

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

MFAA (Multi-Frame Sampled Anti-Aliasing, Мультикадровое сглаживание) — производится выборка двух сэмплов для каждого пикселя из текущего кадра и двух сэмплов из предыдущих, после чего применяетя фильтр.  MFAA, по сути, соответствует 2xMSAA по нагрузке на видеокарту, но даёт качество картинки на уровне 4xMSAA. При этом этот метод работает примерно на 30 процентов быстрее. Падение производительности из-за фильтра минимальное. Для MFAA необходим определенный уровень частоты кадров, чтобы сглаживание можно было рассчитывать на основе двух кадров. NVIDIA утверждает, что частоты кадров 30-40 fps должно быть достаточно.
GPAA (Geometric Post-process Anti-Aliasing, Сглаживание с геометрической постобработкой) — в работе техники заложено  копирование буфера с отрендеренными данными и повторной обработки ребер.

GBAA (Geometry Buffer Anti-Aliasing, Сглаживание с буфером геометрии) — усовершенствованный GPAA, в котором границы обрабатываются несколько иначе. За счет чего улучшена производительность.


Остальные методы

За бортом остались менее известные способы, относящиеся и к первому и второму типу. Ссылки на них приводятся в ознакомительных целях.

    • DAEAA (Directionally Adaptive Edge Anti-Aliasing)
    • DEAA (Distance-to-edge Anti-Aliasing)
    • DLAA (Directionally Localized Anti-Aliasing)
    • AAA (Amortized Supersampling Anti-Aliasing)
    • TRAA (Temporal Reprojection Anti-Aliasing)
    • HQTSSAA (High Quality Temporal Supersampling Anti-Aliasing)
    • DCAA (Decoupled Coverage Anti-Aliasing)
    • TGAA (Triangle-based Geometry Anti-Aliasing)
    • SBAA (Surface Based Anti-Aliasing)
    • NFAA (Normal Filter Anti-Aliasing)
    • SDAA (Second Depth Anti-Aliasing)
    • PWAA (Phone-Wire Anti-Aliasing)
    • SSSAA (Selective Supersampling Anti-Aliasing)

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

Подробности
Опубликовано: 02.02.2018 г.

soft-tuning.ru

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


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

Их демо реализации SMAA можно посмотреть здесь (файл .exe). На моём GTX 960 2GB оно работает вполне нормально.

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


Долгие годы стандартами для реализации сглаживания были методы MSAA (Multisampling Antialiasing) и SSAA (Supersampling Antialiasing). На самом деле, они и по-прежнему обеспечивают наивысшее качество среди всех современных методов сглаживания. Как мы знаем, алиасинг возникает из-за нехватки сэмплов, как на пространственном (ломаные линии), так и на временном уровне (мерцание), обычно рядом с гранями и областями изображения с высоким/низким контрастом. Для борьбы с ним у нас имеются два способа, которые когда-то были единственными решениями: Supersampling и Multisampling. При суперсэмплинге мы увеличиваем изображение, а затем снижаем его дискретизацию до нужного разрешения. Этот принцип отлично работает, потому что распространяется на все аспекты проблемы. При мультисемплинге используется похожее решение. В этом методе каждый сэмпл дублируется на основание определённого коэффициента. При современных больших разрешениях для этого требуются достаточно мощные графические карты. Поэтому нам нужны новые методы сглаживания, как на пространственном, так и на временном уровнях. Все эти методы используют в своей работе один алгоритм — распознавание краёв. Но они выполняют и другие операции.

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


Существует множество современных основанных на фильтрации методов, которые хорошо справляются со своей работой, несмотря на то, что уступают двум перечисленным выше. FXAA, DEAA, GPAA, GBAA, CSAA, EQAA, DLAA… В этой статье мы поговорим о SMAA, и о его предшественнике — MLAA. Эти современные основанные на фильтрации методы имеют собственные проблемы:
  • Большинство алгоритмов распознавания краёв, которые лежат в основе этих методов, учитывают только численные различия между пикселями и игнорируют то, как они отображаются зрителю.
  • Исходная форма объекта не всегда сохраняется, общее скругление углов почти всегда чётко заметно на текстах, резких углах и субпиксельных элементах.
  • Большинство решений рассчитано на обработку только горизонтальных или вертикальных паттернов, и игнорирует диагонали.
  • Реальные субпиксельные элементы и субпиксельное движение обрабатывается неверно. Алиасинг отражений (specular) и затенения (shading) устраняются не полностью.

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

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


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

Enhanced Subpixel Morphological Antialiasing (SMAA)



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

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


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

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

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


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


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

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


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

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


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

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

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

  1. Поиск диагонального расстояния и слева и справа от диагональных линий.
  2. Получение пересекающихся краёв и .
  3. Пользуясь этой входной информацией, мы определяем конкретный диагональный паттерн для доступа к заранее вычисленной текстуре области, получая области и .

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

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


Где и — это два двоичных значения (0 или 1), а — значение интерполяции.

Результаты


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

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

  • Локальный контраст
  • Распознавание диагональных паттернов
  • Резкие геометрические элементы
  • Точный поиск

Всё это можно увидеть на изображении ниже, где эти аспекты сравниваются с результатами других методов. На самом деле, SMAA может создавать результаты, близкие к SSAA 16x.
Излишние затраты, создаваемые каждым из этих решений, незначительны. В частности, адаптация локального контраста занимает всего 0,08 мс, распознавание резких геометрических элементов и точные расстояния занимают 0,01 мс, а обработка диагоналей добавляет лишних 0,12 мс. Проще говоря, SMAA довольно быстр, медленнее, чем SSAA и MSAA, но более плодотворен и менее ресурсоёмок.

habr.com

Алгоритм морфологического сглаживания MLAA для CPU / Habr

Компания Intel опубликовала описание алгоритма морфологического сглаживания (MLAA), который предназначен для работы в реальном времени на CPU (демо, исходные коды).

Как и в случае с алгоритмом депикселизации графики в играх, который пару месяцев назад обсуждался на Хабре, алгоритм Intel не выполняет масштабирование изображения, а работает с пикселами в исходном разрешении. Они модифицируются по нескольким простым правилам, которые показаны на диаграмме.

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

Простота и работа на уровне исходных пикселов является главным достоинством MLAA. Не требуется сложная обработка и работа с альфа-каналом, здесь вообще нет ресурсоёмких процессов. Фильтр работает покадрово с уже отрендеренным изображением и его производительность можно чётко просчитать заранее. Она не зависит от сложности сцены, так что можно гарантировать отсутствие «подтормаживаний» в любой момент. На тестовой машине (см. график внизу) скорость MLAA составляет от 4 мс на кадре 1280 x 800 до 11 мс на кадре 1920 x 1200, независимо от сложности сцены.

Пожалуй, это вообще самый быстрый способ сглаживания, который может работать почти в реальном времени на изображениях большого размера без помощи GPU. Intel позиционирует MLAA как конкурента MSAA (Multisample anti-aliasing), на графике сравнивается их производительность.


Intel Core i7-2820QM: Sandy Bridge, 4 ядра, 8 потоков 2,3 ГГц, графика GT2, 4 ГБ RAM, Windows 7 Ultimate 64-bit SP 1

Эффективность MLAA видна на следующих изображениях: кадр из игры Battlefield: Bad Company 2 без сглаживания (первое изображение) и с включенным MLAA (второе изображение).

Вот увеличенный (500%) фрагмент первого и второго изображения.

Ещё более наглядный пример (спасибо, oxitnik).

via Hot Hardware, ExtremeTech, Intel

habr.com

Какое сглаживание лучше SMAA или FXAA???

Что такое сглаживание? Наиболее простой ответ дает Википедия.
Сглаживание (anti-aliasing, AA, антиалязинг, антиалайзинг и тд) — технология, используемая для устранения эффекта «зубчатости», возникающего на краях одновременно выводимого на экран множества отдельных друг от друга плоских, или объёмных изображений. Сглаживание было придумано в 1972 в Массачусетском технологическом институте в Architecture Machine Group.
Что бы вам не пришлось много читать, сразу приведу основные варианты сглаживаний. Точно так же они обычно обозначаются и в играх.
SSAA, MSAA, CSAA, NFAA, FXAA, DLAA, MLAA, SMAA, TXAA.

Начну с самого крутого, правильного качественного и самого «жрущего» сглаживания – SSAA или по-другому — Super-Sampling. Простой пример потребляемых ресурсов этим методом сглаживания: для разрешения 1280×1024 с SSAA 4x необходим экранный буфер такого же размера, как при разрешении 2560×2048 без SSAA. Размытие картинки – НЕТ. Еще этот метод сглаживания называют FSAA. Рекомендую применять владельцам только самых топовых ПК (видеокарт).

MSAA – улучшенный вариант суперсемплинга (SSAA). Практически такой же по качеству, но требующий меньшее количество ресурсов видеокарты, по сравнению с SSAA. Размытие картинки – очень незначительное, практически не уловимое. И хотя этот метод сглаживания требует меньше ресурсов, чем его первый собрат, этот вариант АА так же рекомендуется владельцам топовых видеокарт.

CSAA – разработка NVIDIA. Усовершенствованный (немного) MSAA. Качество картинки примерно на уровне MSAA 8x, но по ресурсам ест как MSAA 4x. Размытие картинки – незначительное, практически не уловимое. Из последних игр, в которых его использовал – Star Wars Battlefront (DICE).

FXAA – известен своим низким требованиям к видеосистеме. Сглаживает вполне прилично, я бы сказал хорошо. Но есть один недостаток, который заметен, скажем, при сравнении с MSAA – «замыливание» картинки. Оно больше, чем среднее. Подойдет для тех, кто не терпит лесенки, но не может себе позволить предыдущие алгоритмы сглаживания.

MLAA – малоизвестный алгоритм сглаживания. Единственный алгоритм, который работает за счет процессора, а не видеокарты. Он не зависит от сложности сцены, так что можно гарантировать отсутствие «подтормаживаний» в любой момент. Intel позиционирует MLAA как конкурента MSAA. Если судить объективно, MSAA работает немного медленней, но и качественней. По сравнению MLAA с FXAA первый будет медленнее, но при этом качество картинки – без заметного «замыливания».

SMAA – смесь FXAA и MLAA. По скорости находится между FXAA и MSAA. По качеству – картинку практически не блюрит.

TXAA – новый алгоритм сглаживания. Сочетает преимущества MSAA и FXAA. Разработка NVIDIA. Сглаживает ОЧЕНЬ качественно. TXAA 4x = MSAA 8x. Хотя порой первый даже лучше. НО. TXAA «мылит» картинку. «Блюрит» ее. И если сравнивать с MSAA – последний выглядит лучше.

Итог: чОткий, но самый древний алгоритм сглаживания – SSAA. MSAA – очень хороший по качеству, но ест заметно много ресурсов. CSAA – практически такой же по качеству, но ресурсов ест меньше. FXAA – если видеокарта не позволяет, но «сглаживать» хочется, то этот вариант для вас. MLAA – на него можете забить. SMAA – нормальный вариант, можете его опробовать. TXAA – сглаживает очень хорошо. Очень. Но блюр очень раздражает. Поэтому могу рекомендовать этот алгоритм, если вам плевать на «замыливание».

Кстати. В разрешении 4k сглаживание порой вовсе не требуется. Либо можно применить самое простое CSAA или MSAA 2x. Не более. Интересно, как сложится картина лет через 5-7, когда 4k разрешение приобретет массовость. Я специально не стал приводить примеры комбинирования разных методов сглаживания, что бы не вызвать у вас путаницы.

otvet.mail.ru

FXAA — новый алгоритм сглаживания от NVIDIA / Habr

Здравствуйте.

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

Подавляющее большинство игроков знают о «лесенках» на краях объектов и возможном решении этой проблемы — «anti-aliasing», или «сглаживание». Очень подробно этот вопрос описан в статье Дона Волигроски (Don Woligroski) Anti-Aliasing Analysis, Part 1: Settings And Surprises (русский перевод). Также неплохое сравнение с примерами игр текущего поколения игровых консолей есть у Digital Foundry — The Anti-Aliasing Effect (англ.). Вкратце, всё сводится к одному: сглаживание — это здорово, восприятие картинки сильно вырастает в цене, в современных реалиях игропрома продукты с малым сглаживанием или даже без оного находятся в категории освистанных (в первую очередь — фанатами платформ-конкурентов, но тем не менее), но вот реализация качественного сглаживания оставляет желать лучшего, главным образом — из-за недостаточной вычислительной мощности целевого оборудования. В данном случае в гораздо более выгодных условиях оказываются, конечно же, апологеты игры на ПК, т.к. на мощность их железа оказывает влияние только материальный фактор, зато консольщики не упускают случая позубоскалить над ПКшниками на предмет «PC HAZ NO GAEMZ!», мол, игр у вас нет, играете в графику. Я специально не буду затрагивать этот вопрос, потому что рационально-объективных доводов в пользу субъективного ощущения «тёплого лампового гейминга» быть не может в принципе, это вопрос личного выбора со всеми вытекающими. Уже существующие и использующиеся алгоритмы описаны по вышеуказанным ссылкам, поэтому перейду непосредственно к теме: что такое FXAA, с чем его едят и насколько это вкусно.

Начнём с теории. Если быть предельно точным, то FXAA — не такой уж новый алгоритм: впервые он был использован в MMORPG Age of Conan и уже отметился в шутере F.3.A.R., но я буду рассматривать его, как новый, благодаря интересному решению, которое попалось мне на глаза на часто посещаемом форуме (спасибо h0w1er). FXAAFast approXimate Anti-Aliasing, это более производительное решение по-сравнению с традиционным MSAA (Multi-Sampling Anti-Aliasing). Это однопроходный пиксельный шейдер, который обсчитывает результирующий кадр на этапе постобработки. Он создан быть более быстрым и менее требовательным к памяти по-сравнению с MSAA, «оплачивая» свои «плюсы» точностью работы и качеством, хотя на самом деле всё не так страшно, как это звучит. FXAA также имеет ряд преимуществ, включая улучшенное сглаживания спекуляров и субпикселей (речь о поверхностях размером меньше одного пикселя, «лесенки» заставляют такие объекты мерцать). В официальном документе (PDF) создатель FXAA Тимоти Лоттс (Timothy Lottes) заявляет, что для алгоритма FXAA с настройками среднего качества («золотая середина» между качеством и производительностью) постобработка кадра разрешением 1920×1200 на GTX 480 занимает меньше миллисекунды. Основные преимущества FXAA, со слов Тимоти, заключаются в алгоритме сглаживания субпикселей FXAA, работающем лучше оного в MLAA, достаточность для работы железа уровня DX9, постообработке кадра за один проход и, по-моему, самое интересное — независимость от используемого GPU Compute API. Но есть и одна неприятность — необходимость для разработчиков встраивать эту технологию сглаживания в свои игры, когда как традиционные методы сглаживания работают (или не работают) на уровне драйверов. Другими словами, пока программисты не используют в своих движках код FXAA для сглаживания, нужного эффекта мы не получим, влючить FXAA извне официально было нельзя. До недавних пор.

31 июля в ветке Alles rund um FXAA (Treibereinstellungen, Shader-replacements) форума 3DCenter Forum, появился «some dude», который произвёл инъекцию кода FXAA в библиотеку d3d.dll и дал возможность гибко настраивать результат через конфигурационные файлы, а также включать и выключать FXAA по кнопке Insert и делать скриншоты нажатием Delete [Pause], а [Print Screen] делает скриншот начиная с версии beta 9. Этот набор файлов копируется в директорию с исполняемым файлом DX9-приложения (игры, демки — не важно), а это приложение при запуске «подхватывает» библиотеку с нужной инъекцией. И пошло-поехало: так как Gast (автор инъекции) изначально озаботился сохранением результатов работы в лог, народ стал ему присылать баги, которые Gast, в свою очередь, начал править. Позже в его наборе появилась инъекция для DX10 (dxgi.dll), сейчас рассматривается вариант добавить FXAA в DX11, но у автора нет DX11 железа, поэтому вопрос немного подвис в воздухе, а с версии beta 10 — и DX11 (но не забывайте, что это всё-таки бета инъекции).
UPDATE 19.08.2011
<Здесь раньше была куча ссылок, которые потеряли актуальность>
На 19 августа 2011г актуальная версия — beta 10, зеркала: rapidshare.com, letitbit.net, depositfiles.com, rghost.net. К сожалению (или к счастью, кому как) набор фильтров от pedace с виньетированием, сепией и т.п. для beta 10 пока не объявлен, но наткнулся на пользовательские фильтры к этой версии, зеркала: [1], [2], [3], [4], [5].

А теперь — танцы практика. Практиковаться будет на World of Tank, версия 0.6.6.

Вариант без сглаживания (No AA) показывает явные «эскалаторы», и хоть модели танков достаточно большие и детализированные, артефакты видно совершенно явно, особенно на тонких объектах, о которых дополнительно ниже.

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

Следующий вариант — FXAA, результат налицо: артефактов по краям нет, однако и мыльности по-сравнению с noAA тоже немного добавилось, хотя с EdgeAA разница почти незаметна.

Ну и вариант FXAA Sharpen. Gast в версии beta 6 добавил фильтр резкости, взятый из MPC-HC, и результат очень достойный: мыло исчезло, текстуры стали выглядеть даже резче, чем в оригинале, а «лесенок», несмотря на этот фильтр, практически не добавилось. Из-за незапланированной авторами резкости текстуры башни чуть-чуть «выбило» (синяя зона), но в игре, могу вас уверить, это абсолютно незаметно.

А что же с производительностью? Да практически ничего плохого. К сожалению, движок WoT живёт в своём мире и всплески/падения производительности могут выскакивать на самом ровном месте. У меня получилось следующее:

Картинка «In battle no AA» — то, о чём я говорил выше: тонкие деревца трещат от артефактов, тогда как на вариант «In battle FXAA Sharpen» картинки гораздо приятнее глазу, за исключением проблем фильтра резкости, который уж слишком тонкие линии сужает в толщину волоса, как, например, навесной прицел артиллерии. А количество кадров в секунду в варианте FXAA даже выше, несмотря на то, что эти два скриншота сделаны с разницей в 1 секунду и танк был неподвижен.

На самом деле при длительном тесте была получена цифра ~10-12% — на столько падает производительность при использовании FXAA, тогда как MSAA 4x, с качеством сглаживания которого и конкурирует FXAA, в довольно часто даёт падение вдвое больше. Если будет интересны сравнения — больше цифр и картинок можно найти в статье NVIDIA’s New FXAA Antialiasing Technology сайта [H]ard|OCP, где я почерпнул часть информации, а в завершении своего небольшого обзора соглашусь с Марком Уорнером @ HardOCP: при должной реализации у FXAA большое будущее, особенно на консолях, где ресурсы жёстко ограничены, а имея возможность настроить конфигурацию инъекции по своему вкусу, многие уже сейчас без помощи разработчиков, смогут насладиться красивой картинкой в любимой игре.

UPD. На 10 августа уже появилась более настраиваемая инъекция, так сказать, «сборная солянка» от участников обсуждения: INJ_FXAA_DX9_pedace_v1.rar, зеркала: rapidshare.com, letitbit.net, depositfiles.com, rghost.net, hotfile.com. В сборку включены разные фильтры: насыщение цветом, виньетирование, размытие, сепия и другие. Всё это настраивается через единый файл настроек и самое полезное — настройки меняются «на лету»: Alt+Tab из приложения для редактирования настроек, Alt+Tab обратно — новые настройки работают, перезапуск не требуется. С этим вариантом инъекции я избавился от блеклости при включении фильтра резкости, в настройках полностью отключил USE_TECHNICOLOR, USE_TONEMAP и USE_VIGNETTE. Результат выглядит так:

Налицо более чёткая картинка без «лесенок» и мыла, даже текстуры выглядят веселее.

UPDATE #2

Добавил BMP PNG из Fraps’а. Где-то мой косяк, согласен: предполагал, что получить скриншот с результатами FXAA непосредственно из игры нельзя, как это нельзя сделать в случае с MLAA, но, как выяснилось, можно, т.к. это не постобработка фреймов драйвером после вывода на экран, а прямая картинка через инъекцию.

habr.com

Отправить ответ

avatar
  Подписаться  
Уведомление о