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

Пространственный алиасинг

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

What is Anti Aliasing (AA) as Fast as Possible

tri | Всё, что вы хотели знать про АнтиАлиасинг
Рис. 1. Лесенки на границах полигона.

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

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

Темпоральный алиасинг

Аналогично, темпоральный алиасинг — это тот, который проявляет себя только во времени.

Виды АнтиАлиасинга и немножко истории

  • Поскольку алиасинг появляется из-за низкой частоты дискретизации, то первая, и наиболее простая идея — сделать выборку с большей частотой, а затем применить фильтрацию. Этот подход называется OverSampling и подробно разобран в первой главе. Одна из вариаций, называемая MultiSampling (MSAA) и реализованная хардварно, в начале нулевых стала де-факто стандартом индустрии почти на 10 лет. К сожалению, она доставляет много хлопот в сочетании с отложенным освещением, которое начало пользоваться популярностью к концу декады, а потому стала требоваться альтернатива.
  • Она нашлась с появлением MLAA (Morphological Antialiasing). Этот метод предлагал принципиально иной подход и породил настоящий бум подобных техник в 2009-2011 годах. Все они так или иначе основаны на постобработке уже готового (несглаженного) изображения. Некоторые из них реализованы в виде независимой стадии-фильтра (раздел 2.1), другие же требуют сбора дополнительной информации во время рендера, дабы помочь решить задачу аналитически (раздел 2.2). Но обе группы методов отлично показывают себя только на статических изображениях, а в динамике часто страдают из-за темпоральных эффектов.
  • Наконец, третий и наиболее новый подход — темпоральный антиальясинг — как раз призван решить эту проблему. Он чем-то похож на оверсэмплинг, но не делает дополнительных выборок, а использует для тех же целей информацию с предыдущих кадров. Трудностям, связанным с таким подходом, уделён третий раздел данной статьи.

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

Skyrim Anti-Alias and Anisotropic Filtering

1. Оверсэмплинг

SSAA

MSAA

CSAA и EQAA

2.1 Постпроцесс-фильтры

Источник: gamedev.ru

Sparse Grid Supersampling Anti-aliasing — A guide on what it does and how to use it in Skyrim (With Pictures)

So I searched r/skyrim and r/skyrimmods for the term SGSSAA and noticed there wasn’t a post on it. So I decided to do a write up on what it is, and how to use it.

Читайте также:  Как в Скайриме прокачать вервольфа

Note: This guide is for Nvidia cards only. As SGSSAA is designed by Nvidia.

To skip the boring crap and find out how to enable it, go to the bold text about half way down.

SGSSAA — What is it?

Sparse Grid Supersampling Anti-aliasing is a Nvidia developed form of Anti-aliasing that is actually a bug, but it was such a good bug that after much whining from the gaming crowd, Nvidia decided to keep it.

Now just to get some terminology out of the way, some of the acronyms on the internet can be confusing so here’s a simple list to help.

MSAA — Multisampling Anti-Aliasing

SSAA — Supersampling Anti-Aliasing

TRMSAA — Transparency Multisampling Anti-Aliasing

TRSSAA — Transparency Supersampling Anti-Aliasing

SGSSAA — Sparse Grid Supersampling Anti-Aliasing

There are dozens of other types of AA. Some don’t even have good documentation and some are discontinued.

How SGSSAA works is that unlike regular Transparency Supersampling that you find in the Nvidia Control Panel, SGSSAA is applied full scene, much like FXAA. Every pixel that passes is supersampled in a sparse grid.

The benefit of this is that it is better than 8x MSAA that is commonly used, is less performance draining than 8x MSAA, and is compatible DX9, DX10 and DX11.#.

How to use SGSSAA in Skyrim

You need a tool to enable SGSSAA, it’s called Nvidia Inspector, and is available here: http://www.guru3d.com/files_details/nvidia_inspector_download.html

You can edit the settings yourself or download the preset here (SLI x2 here). Note that preset is set to 4x MSAA + 4x SGSSAA with AO, Vsync, Triple Buffering, and AF enabled. If the preset doesn’t work, let me know.

  1. Once done open it up and find the little tool icon in the middle-right, next to «Driver Version». A large window will open, in here you can edit nearly every advanced graphical setting for Nvidia cards.
  2. In the search box (top-left corner) clear the text and type «elder», pick Skyrim from the list.
  3. Once in it’s now time for some editing, if you have the preset, you can import it using the little box with the down arrow in the top bar. I’m sure you can find it.
  4. Working from top to bottom
  5. Compatibility — Set «Antialiasing compatibility» to 0x000010C1
  6. Antialiasing — Set «Behaviour Flags» to None, set «Mode» to Override any application setting, set «Setting» to 4x [4x Multisampling], set «Transparency Multisampling» to Disabled, set «Transparency Supersampling to 4x Sparse Grid Supersampling
  7. The Antialiasing — Setting and Antialiasing — Transparency Supersampling can be set to any value, but they must match! 2x MSAA must have 2x SGSSAA and so on!
  8. Set anything else to what you want.
  9. Click Apply changes and it will save your settings.

Nvidia Control Panel will say «Custom» under Antialiasing — Transparency.

Now you’re done! Here are some before and after images of just the main menu to show the difference.

Источник: www.reddit.com

Сглаживание в играх: как разработчики делают картинку приятнее и какой тип сглаживания выбрать?

Обложка: Сглаживание в играх: как разработчики делают картинку приятнее и какой тип сглаживания выбрать?

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

Зачем нужно сглаживание в играх?

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

Читайте также:  Скайрим брума прохождение на русском

pixel notches

Лесенка пикселей при отрисовке наклонных линий

Эту проблему можно решить приобретением монитора с бОльшим разрешением. Скорее всего, если у вас не современная видеокарта, то придётся обновить и её. Но такой вариант устроит далеко не каждого.

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

pixel lines

Пример сглаживания наклонной линии

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

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

SSAA (SuperSample Anti-Aliasing)

Самый простой, но в то же время самый эффективный тип сглаживания, который в играх даёт самую приятную картинку. К сожалению, он сильно снижает производительность. Видеокарта виртуально увеличивает разрешение экрана в несколько раз. После отрисовки кадра изображение сжимается обратно до оригинальных размеров, усредняя цвета виртуальных пикселей в соответствующие им реальные пиксели. Если разрешение экрана Full HD (1920×1080), а сглаживание работает в четырёхкратном режиме, то кадр будет отрисовываться в разрешении 4K (3840×2160).

Примечание Усреднение пикселей — это просто нахождение среднего цвета от нескольких виртуальных пикселей. Например, в SSAA x 4 разрешение увеличивается в два раза. Тогда каждому реальному пикселю будут соответстWowать 4 виртуальных. Вот примеры того, как будет происходить усреднение:

averaging colors

Примеры усреднения цветов

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

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

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

MSAA (MultiSample Anti-Aliasing)

На практике, сглаживание не нужно применять абсолютно ко всему кадру. Оно уместно там, где есть наклонные линии, контрастные границы полигонов или мелкие объекты на дальнем расстоянии. Поэтому на замену ресурсоёмкому SSAA пришёл более лёгкий MSAA.

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

Сглаживание в играх: MSAA

Результат четырёхкратного сглаживания MSAA

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

FXAA (Fast approXimate Anti-Aliasing)

Суть этого алгоритма заключается в усреднении цветов соседних реальных (не виртуальных) пикселей.

Сглаживание в играх: FXAA

Результат сглаживания FXAA

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

Блокнот, Excel и осциллограф: где ещё можно делать игры? Подборка игр на необычных движках

Блокнот, Excel и осциллограф: где ещё можно делать игры? Подборка игр на необычных движках

MLAA (MorphoLogical Anti-Aliasing)

Этот тип сглаживания является аналогом FXAA от Intel. Алгоритм работает после финальной отрисовки кадра, поэтому может выполняться уже не на видеокарте, а на центральном процессоре. Это позволяет существенно снизить нагрузку на видеокарту.

Читайте также:  Огненный атронах Скайрим кто это

mlaa

Принцип разбиения изображения на структуры. Источник

MLAA определяет места с резким переходом цветов по 3 разным паттернам: Z, U и L. Потом участок градуируется по цветам по заранее заданным алгоритмам, свойственным каждому из паттернов.

SMAA (Subpixel Morphological Anti-Aliasing)

Это сглаживание, созданное на основе FXAA и MLAA. Является улучшенной версией MLAA, но работает уже не на ЦП, а на видеокарте, а значит, тратит её ресурсы.

Теперь для определения контуров алгоритм использует не только разность цветов, но и яркость пикселей. Паттерны Z, U и L остаются, а вдобавок к ним появляются диагональные паттерны. Это помогает точнее отрисовывать острые грани объектов.

smaa

Результат сглаживания SMAA. Обратите внимание на дерево и листья у здания

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

TXAA/TAA (Temporal Anti-Aliasing)

Этот тип сглаживания, разработанный Nvidia, не только борется с зазубринами пикселей, но и устраняет ненужное дрожание объектов.

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

taa

Результат работы сглаживания TAA

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

DSR (Dynamic Super Resolution)

Сглаживание тоже прямиком от Nvidia. Алгоритм похож на SSAA. Разница в том, что DSR просто запускает игру в бОльшем разрешении экрана. После этого, как и SSAA, он отрисовывает кадр, а затем уменьшает картинку до оригинального разрешения.

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

CSAA/CFAA (Coverage Sampling Anti-Aliasing/Custom-Filter Anti-Aliasing)

Улучшенная версия MSAA. Даёт качество картинки на уровне MSAA x 8, но при этом потребляет ресурсов, как MSAA x 4. Замыливания почти нет.

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

csaa

Результат восьмикратного сглаживания CSAA

Примечание Многие алгоритмы сглаживания во время обработки изображения учитывают не только соседние пиксели, но и отдельно их субпиксели (да-да, те самые R, G и B каналы) — всё зависит от строения и особенностей матрицы вашего монитора.

На изображении ниже видно, что при сглаживании текста участвуют не полноценные пиксели, а только некоторые их каналы: красный, синий и жёлтый (смесь красного и зелёного).

tproger-ct

Технология субпиксельного рендеринга Clear Type

Какое сглаживание выбрать в игре?

Если вы — владелец мощного игрового компьютера, а в настройках графики видите SSAA-сглаживание — без раздумий выбирайте его. Но если вы переоценили силы вашего ПК, и такое решение сильно ударило по частоте кадров, то попробуйте найти SMAA или TXAA (TAA).

Если ваш компьютер более бюджетный, всегда есть варианты использования FXAA, MLAA или MSAA.

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

Итак, из этой статьи вы узнали много разных наборов букв. Проверьте, получилось ли у вас что-то запомнить.

Источник: tproger.ru