Supersampling что это
Перейти к содержимому

Supersampling что это

  • автор:

Анализ методов сглаживания на основе super-sampling

Эта статья рассматривает два метода реализации сглаживания (antialiasing) на основе избыточной выборки (super-sample): сглаживание с повернутой опорной решеткой (Rotated Grid Super-sampling, RGSS) и c упорядоченной решеткой (Ordered Grid Super-sampling, OGSS). В RGSS применяется сетка разбиений, повернутая относительно стандартных осей изображения, как правило, на значения порядка 20 o или 30 o . По всей видимости, RGSS имеет одно основное преимущество перед OGSS: более эффективное сглаживание границ, близких по направлению к горизонтальной или вертикальной оси, т.е. там, где человеческому глазу наиболее легко заметить дискретные артефакты изображения (aliasing). Это преимущество позволяет использовать меньшее количество выборок (sub-sample) на одну результирующую точку изображения для достижения такого же визуального эффекта, как и при OGSS.

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

Что такое сглаживание?

Компьютеры всегда боролись за достижение лучшего качества графики с конечной целью — получить возможность создания точного отображения реальности. Естественно, достичь самой реальности невозможно, так как реальность бесконечно детальна. Люди имеют дело с компьютерными системами, которые имеют ограниченное и чётко обозначенное количество оперативной памяти, пропускной способности, вычислительной мощности. Из-за этого попросту невозможно иметь дело с неограниченной детализацией. Чем ближе вы смотрите на что-то, тем больше вы можете увидеть (или измерить каким-либо другим образом), вплоть до субатомного уровня.

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

Звук — не более, чем волна плотности: сжатие и растяжение воздуха. Это физическое событие бесконечно детально, и оно модифицируется в пространстве вместе со временем. CD — это цифровой носитель для звука; он содержит числа, эквивалентные «количеству» звука в определённые моменты времени. Перевод этих сжатий, колебаний в числа производится через микрофон и АЦП (analog to digital converter, AD). Микрофон может перевести бесконечно детальные колебания в бесконечно детальный электрический сигнал. А АЦП, в свою очередь, измеряет электрический сигнал в определённые моменты времени, сопоставляя с ним конкретное дискретное числовое значение. Каждое такое измерение и есть отсчет. В итоге, бесконечно детальное событие получило дискретное описание, которое уже может быть обработано процессором или может быть сохранено на цифровом носителе, таком, как CD.

Это относится и к графике: там отсчет фиксирует определённый момент, также, как и определённый участок. Например, точка изображения или один кадр анимационной последовательности являются в некотором роде отсчетами. На нынешнем уровне развития потребительских технологий попросту невозможно рассчитать достаточное количество дискретных отсчетов для более-менее приемлемого отображения действительности. Из-за этого недостатка возникают дискретные артефакты в результирующих изображениях и анимационных последовательностях. Эти артефакты привносят в изображения множество нежелательных визуальных эффектов, которые могут серьёзно ухудшить их качество. Налицо злободневная проблема всех современных 3D-акселераторов — очерняющая и оскверняющая все потрясающие впечатления, за которые так борются компьютерные игры и прочие трёхмерные приложения. Зубчатые края, ступенчатость и мерцающие объекты — всё это симптомы дискретных искажений. Посмотрите на края объекта, изображенного 3D акселератором, и вы легко обнаружите их ступенчатость. Теперь начните плавно удаляться от объекта, и вы увидите так называемое сползание (crawling). Все эти артефакты значительно ухудшают общее качество рассчитанного изображения.

Для лучшего понимания эффекта ступенчатости ниже приведены два скриншота. В части ‘a’ рисунка 1 — пример того, что может случиться с краями полученного изображения, например, гор. Мы видим, что поверхность располагается на сетке, каждая секция которой представляет собой пиксель. Так как обычно строим изображение мы пополигонно (а в конечном итоге — попиксельно), мы заполняем или не заполняем каждый пиксель. Получается дискретная система, в которой не может быть частично заполненных пикселей. Выбор решения — заполнять или нет — зависит от местоположения центра пиксельной зоны (на рисунке зоны показаны маленькими кружками).

  • (а): Бесконечно детальная кривая
  • (b): Ступенчатое дискретное изображение

На части B мы видим результат: группа пикселей, которая пытается заместить и замещает поверхность, которую мы хотели отрендерить. К сожалению, результатом этого процесса дискретизации может быть полный бардак, все портит изрядный лестничный эффект. Другим примером дискретных искажений в компьютерной графике может послужить исчезновение полигонов или пикселей (так называемый «polygon popping» или «pixel popping»). Эта проблема проявляет себя при работе с маленькими объектами, менее пикселя в ширину или высоту. Например, маленький полигон может быть помещён в такое место, в котором одиночный отсчет невозможен. В итоге полигон исчезает полностью или частично.

Рисунок 2 показывает различные эффекты исчезновения полигонов. Слева мы видим желаемый нами результат, а справа — рассчитанный результат, пострадавший от артефактов нежелательного исчезновения полигонов. Например, обратите внимание на зелёную полоску ‘a’. Она закрывает центры пикселей (a) и поэтому видна. Но теперь представьте, что анимация пошла (вниз) и зелёная полоса оказалась в положении (b). В этом положении центры пикселей полосой не закрыты, поэтому, в итоге, фактически ничего и не рендерится. Заметьте, как легко зелёная полоса из видимой стала невидимой всего лишь после небольшого сдвига. Если сдвиг продолжить, то полоса снова закроет центры пикселей и станет полностью видимой. Начинается «мерцание» — прекрасный пример дискретного артефакта. К тому же, заметьте, как изменяются жёлтые фигуры от кадра (a) к (b). На разных кадрах они получились по-разному из-за недостатка отсчетов для точного представления модели. Красные продолговатые треугольники имеют совершенно одинаковые размеры, но они стали различаться в результате разного количества пикселей. Синий квадрат в кадре (a) показывает, как отличающийся от других полигон может перестать отличаться при его растеризации в изменённом месте и положении.

[1] Все эти артефакты, характеризующиеся различным растровым представлением одних и тех же обьектов только в результате изменения их положения и ориентации — симптомы дискретных искажений. Чтобы сократить эти артефакты, применяются специальные алгоритмы сглаживания, в том числе на основе избыточной выборки. По сути, сглаживанием мы и называем процесс удаления нежелательных дискретных артефактов. Проблема алгоритмов и технологий сглаживания всегда требовала и требует высокой пропускной способности и большой скорости заполнения. Это заставило сглаживание долго оставаться в области CAD и на рынке high-end компьютерных графических решений. Однако, сейчас продукты потребительского рынка подбираются к моменту, когда возможно более-менее качественное сглаживание в режиме реального времени (real-time). В следующей секции мы опишем несколько методов сглаживания.

Анимация

  • (а) : хорошо детализированное изображение слева, грубая версия с отсутствующими полигонами и деталями справа
  • (b) : Анимационный кадр следующий за (a), видны различающиеся полигоны, создающие эффект мерцания (flickering).

Практическая реализация сглаживания

Несмотря на то, что несколько аппаратных и программных реализаций сглаживания уже были разработаны, они не добились успеха на основном потребительском рынке. Слишком высокое потребление ресурсов CPU, высокие нагрузки на память и шину, высокие затраты памяти — всё это сделало их использование на потребительском рынке непрактичным. Даже менее требовательное краевое (edge) сглаживание, которое только пытается исправить лестничный эффект на краю полигонов, но не улучшает ситуации с артефактами их исчезновения и мерцания, не стало популярным по причине его относительно низкого качества и отрицательного влияния на производительность. Сглаживание еще недавно оставалось эксклюзивной технологией CAD/CAM и реалистичной графики не-реального времени. С последними поколениями CPU и графических процессоров стало возможным использовать сглаживание и на потребительских системах, которые теперь имеют достаточную вычислительную мощность, пропускную способность, объем памяти для практической реализации сглаживания. Эта статья рассматривает основные типы сглаживания, основанного на избыточной выборке, и исследует две его специфические реализации.

Методы избыточной выборки

Как было объяснено раньше, дискретные артефакты — результат выборки, или, если точнее, недостаток низкого суммарного количества обработанных отсчетов. Избыточная выборка, как видно из названия, решает эту проблему, используя некоторое количество отсчетов на точку, что больше, чем в обычном случае, усредняя их для получения окончательного результата. В этом случае у нас есть возможность более точно смоделировать визуальное представление бесконечно детализированного естественного мира. Итак, первый важный элемент — избыточная выборка — использование дополнительных отсчетов для увеличения плотности данных в изображении. Таким образом, вместо одного центрального отсчета на пиксель, метод избыточной выборки использует несколько. Два типа сглаживания (далее AA, т.е. anti-aliasing) с использованием избыточной выборки определяются положением этих отсчетов внутри пикселя. Ordered Grid выборка — первый и основной тип избыточной выборки (далее SS, т.е. super-sampling). Само название «Ordered Grid» (упорядоченная решётка) наглядно показывает позицию отсчетов относительно данного пикселя. Выбираемые избыточные отсчеты располагаются в форме упорядоченной решётки, как показано на рис. 3а.

  • (a) Ordered Grid, используемая в методе OGSS.
  • (b) Rotated Grid, используемая в методе RGSS.

Второй тип SS AA известен как избыточная выборка с искаженной решеткой (Jittered Grid Super-Sampling, JGSS). JGSS аналогичен OGSS в том, что избыточные отсчеты хранятся попиксельно, но отличие между ними — в расположении отсчетов. В случае с OGSS решётка выборки параллельна и выровнена по горизонтальной и вертикальной осям. А в случае с JGSS решётка повернута относительно осей или искажена каким-либо другим образом. Пример решетки, используемой с JGSS, показана на рис. 3b. Существует несколько различных путей искажения решетки, мы сейчас рассмотрим два основных решения.

Первая реализация — полностью случайная выборка (известна как стохастическая выборка, Stochastic Sampling). По сути, это означает, что внутри результирующего пикселя отсчеты располагаются случайным образом. Ключевой момент в том, что решетка случайна для каждого пикселя на экране. Случайное расположение отсчетов вносит в результирующее изображение белый шум, но человеческий глаз менее восприимчив к случайному шуму, чем к регулярным узорам. Наличие небольшого случайного шума компенсируется исчезновением в результате выборки по многим отсчетам, делает восприятие узоров (в нашем случае — дискретных искажений) гораздо более затруднительным. Качество этого метода потрясающее, но его реализация требует очень больших затрат. Примерно 16 (или более) случайно расположенных отсчетов должны обеспечивать приемлемый уровень зашумления и практически устранить дискретные артефакты. Можно использовать и меньшее количество отсчетов, но это повышает и уровень шума, и заметность артефактов. Причем, аппаратно трудно добиться полностью случайного расположения отсчетов. Желательно избежание отсчетов, слишком близких друг к другу. Примером является использование распределения Пуассона (Poisson Distribution) [5], но подобные методы чрезвычайно сложны и на данный момент недоступны для массового потребительского уровня аппаратной поддержки. Вторая реализация выборки в JGSS — упрощенная форма первой. Вместо использования полностью случайных решеток используется заранее определённая решетка, которая аппроксимирует эффект полностью случайной выборки, повторяя его для каждого результирующего пикселя.

Итак, у нас снова есть решётка, но положения отсчетов более случайны и менее однообразны. Решетка, предложенная документацией на OpenGL, представляет собою трансформированную регулярную сетку (shear) [2]. Упорядоченная решетка смещена в сторону, смещение устраняет некоторую упорядоченность, закономерность, свойственную OGSS. Однако это смещение устраняет только вертикальную упорядоченность. Горизонтальная упорядоченность сохраняется. В итоге, вертикальная регулярность структуры OGSS разрушается, а горизонтальная остаётся. Также существует и часто используется метод сглаживания с повернутой опорной решеткой (Rotated Grid Super-Sampling, далее RGSS). В RGSS расположение отсчетов идентично расположению, применяемому в OGSS, но вся решетка повернута на некоторый угол (рисунок 3b). Заметьте, что таким образом мы избавились как от горизонтальной, так и от вертикальной упорядоченности, и уже нет ярко выраженных рядов и колонок. Подкованные теоретическими знаниями и определениями OGSS и RGSS, мы можем теперь сосредоточиться на их практической реализации в современном оборудовании. Мы рассмотрим одно и то же аппаратное решение для каждого метода SS, но будем иметь ввиду, что описано значительное количество других реализаций SS AA.

Осуществление OGSS

OGSS — это метод, который может быть внедрён почти на всех современных 3D-акселераторах, поддерживающих рендеринг во «внекадровом» (не отображаемом) буфере. Внекадровый буфер имеет место для хранения цветов пикселей, а также значения Z-буфера и буфера шаблонов (Stencil). Однако, он отличается от обычного переднего (front) или заднего (back) буфера тем, что его содержимое никогда не выводится на экран напрямую. Как было ранее объяснено, метод OGSS использует упорядоченную решетку отсчетов для каждого пикселя. Ниже мы более детально поясняем, как можно реализовать OGSS AA на современном 3D «железе».

1. Движок создаёт 3D-окружение, используя 3D API типа Direct3D или OpenGL. Оба API используют треугольники как основную строительную единицу для создания 3D-объектов. Каждый треугольник имеет свои координаты в 3D-пространстве. Эти координаты передаются, трансформируются и освещаются через API, используя спец-драйвер 3D-карты. В нашем простом примере допустим, что наше изображение имеет разрешение 10×10 пикселей и что у нас есть треугольник с вершинами в координатах (5,5), (10,10) и (10,0), создающими его в правой части изображения.

2. Координаты, доставленные API, соответствуют специфическому разрешению изображения. Когда вершины трансформируются и освещаются, они обеспечиваются видовыми координатами (а не мировыми координатами, используемыми в 3D-приложениях). Таким образом, эти координаты привязаны к финальному разрешению изображения. Для достижения нашей цели (AA) нам нужно увеличить эти координаты хотя бы в два раза в обоих направлениях — и в горизонтальном, и в вертикальном — для создания необходимого для эффективного AA количества отсчетов (так называемый Up-sampling). Это простое умножение всех координат в два раза с соответствующим увеличением разрешения. Итак, разрешение, в котором изображение будет рассчитываться, увеличивается до 20×20 (10, умноженное на 2). Координаты наших вершин также будут увеличены до (10,10), (20,20) и (20,0). Заметьте, что, несмотря на все эти изменения, относительное местоположение в пространстве вершин и треугольников сохранилось.

3. Результатом предыдущих действий является то, что вся геометрия увеличивается вдвое в двух направлениях, вертикальном и горизонтальном. Проще говоря, теперь всё стало вдвое больше. И, таким образом, выводится в четыре раза больше пикселей, по сравнению с обычным изображением. Наше исходное изображение имеет размер 10×10, а полученное — 20×20 пикселей.

4. Мы рендерим всю геометрию так же, как и обычно, но во внекадровый (невидимый) буфер. Увеличенная геометрия используется для получения AA-изображения размером 10×10 пикселей. Заметьте, что наш пример использует только один треугольник, а реальные приложения, разумеется, используют гораздо больше.

5. Когда сцена кадра построена, мы получили изображение нашего 3D-мира высокого разрешения. Теперь нужно это изображение превратить в сглаженное АА-изображение более низкого разрешения. Т.е., нам нужно перейти от SS 20×20 (двойное разрешение) изображению к AA 10×10 изображению. Этот преобразование (down-sampling) производится усреднением цветов соседних пикселей.

По существу, мы берём цветовые значения четырёх соседних пикселей (квадрат), добавляем их друг к другу и потом делим на четыре. Это означает, что мы получаем однородную смесь цветов пикселей высокого разрешения внекадрового буфера по сравнению с результирующим (демонстрируемым) изображением. На самом деле, эти четыре пикселя на внекадровом изображении высокого разрешения являются будущими отсчетами для пикселей результирующей AA-картинки. Усредненные, эти отсчеты формируют конечный сглаженный пиксель для результирующего изображения. С помощью расчета изображения в высоком разрешении, последующей его фильтрацией с уменьшением разрешения (filtering down) и с использованием усредняющего фильтра значительно уменьшаются дискретные эффекты. Для простого примера предположим, что наше изображение имеет тёмные полосы (0%) на светлом фоне (100%), расположенные вертикально, создающие эффект «полосатости» и имеющие высоту, равную одному разбиению решетки. Выборка будет содержать два тёмных и два светлых отсчета. Усредненный результат — наполовину тёмный и наполовину светлый пиксель.

6. Конечным результатом этого процесса снова будет изображение 10×10, но изображение, сглаженное OGSS методом. Мы обсудим другой важный аспект этого процесса чуть позже, в этой же статье. Схематическое представление метода OGSS можно увидеть на рис. 4 (справа). Практическая реализация реализует OGSS за счёт увеличения внекадровой сцены в два раза, по вертикали и горизонтали. Ничто не мешает использовать другие множители, например, 4 или более. Так, термины 2X OGSS и 4X OGSS часто используются для описания размера сторон регулярной решетки, используемой в OGSS. Иногда размерность заменяется термином «tap» (одна точка, отсчет), приводя, таким образом, к появлению таких терминов, как 4-tap или 16-tap OGSS. Итак, используя 16-tap OGSS, мы имеет решетку 4×4. Следует заметить также, что термины Full-Scene AA и Full-Screen AA (т.е. полноэкранное сглаживание) часто используются неуместно.

Обычно эти термины используются для обозначения OGSS, но, на самом деле, они просто обозначают то, что всё изображение (целиком) подвергается сглаживанию, будь то OGSS, или RGSS, или что-либо иное. Тем не менее, это важно, что мы упоминаем о том, какой именно тип сглаживания реализован в «железе», потому что его качество невысоко, как выяснится совсем скоро. В итоге, следует заметить, что этот метод реализации OGSS, используя существующие 3D-буферы, страдает от потенциальной несовместимости с приложениями, использующими доступ к буферу кадра. Доступ к буферу кадра производят приложения, которые для какой-либо цели заполняют буфер значениями напрямую (значения цвета и/или Z/Stencil). Проблема в том, что внутренний рендеринг происходит в повышенном разрешении, а приложение вообще об этом не знает, и, в итоге, обращение к буферу кадра происходит некорректно. Это можно увидеть на простом примере. Допустим, игра захотела использовать буфер кадра для наложения кабины на изображение. Накладываемое изображение имеет разрешение конечного изображения, а не разрешение внутреннего внекадрового буфера. В результате, накладываемое изображение с размерами экранного буфера записывается во внекадровый буфер, что, естественно, приводит к некорректному результату. Накладываемый слой заполнит лишь 1/4 нужного размера в финальном. С приложениями, использующими прямой доступ к буферу кадра, нужно работать с особой осторожностью. Проблема может быть решена на уровне драйвера, т.к. не существует аппаратного решения этой проблемы. Излишне говорить, что это приводит к серьёзному падению производительности, но без решения этой проблемы некоторые приложения покажут некорректный конечный результат.

Виды сглаживания и их особенности

Что такое сглаживание? Какие виды существуют? Начнём немного разбираться в рамках данной статьи. Постараемся охватить все, которые существуют, но некоторые всё равно останутся за «кадром» в связи с их большим количеством, а также текущей неактуальностью. Да, некоторые методы активно используются разработчиками тех же игр, другие же — достаточно редкие гости в тех или иных приложениях. Про каждый из методов сглаживания вы сможете более подробно ознакомиться в интернете, т. к. в рамках одной статьи это слишком объёмный материал и по большинству из сглаживаний можно писать по отдельной статье. А пока мы с вами приступим к рассмотрению некоторой терминологии.

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

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

«Генеральная совокупность — это совокупность всех объектов или наблюдений, относительно которых исследователь намерен делать выводы при решении конкретной задачи».

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

Выборка должна соответствовать определённым критериям, чтобы была возможность обобщить и распространить её на генеральную совокупность. Основные критерии — это репрезентативность выборки и статистическая достоверность результатов.

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

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

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

Оглавление

  • Пример сглаживания
  • Виды сглаживания
  • Традиционные методы
    • Избыточная выборка сглаживания — Super-Sampling Anti-Aliasing (SSAA)
    • Множественная выборка сглаживания — Multi-Sample Anti-Aliasing (MSAA)
    • Мультикадровое сглаживание — Multi-Frame Anti-Aliasing (MFAA)
    • Сглаживание повышенного качества — Enhanced Quality Anti-Aliasing (EQAA)
    • Выборка сглаживания с перекрытием — Coverage Sampling Anti-Aliasing (CSAA)
    • Избыточное шахматное сглаживание — Quincunx Super Anti-Aliasing (QSAA)
    • Избыточная выборка сглаживания с разряженной решёткой — Sparse Grid Super-Sampling Anti-Aliasing (SGSSAA)
    • Сглаживание гибридной выборки — Hybrid-Sampling Anti-Aliasing (HSAA)
    • Быстрое приблизительное сглаживание — Fast Approximate Anti-Aliasing (FXAA)
    • Морфологическое сглаживание — Morphological Anti-Aliasing (MLAA)
    • Субпиксельное морфологическое сглаживание — Subpixel Morphological Anti-Aliasing (SMAA)
    • Субпиксельное восстанавливаемое сглаживание — Subpixel Reconstruction Anti-Aliasing (SRAA)
    • Консервативное морфологическое сглаживание — Conservative Morphological Anti-Aliasing (CMAA)
    • Направленно локализованное сглаживание — Directionally Localized Anti-Aliasing (DLAA)
    • Динамическое супер разрешение — Dynamic Super Resolution (DSR)
    • Виртуальное супер разрешение — Virtual Super Resolution (VSR)
    • Временное сглаживание — Temporal Anti-Aliasing (TAA)
    • Временное приблизительное сглаживание — Temporal approXimate Anti-Aliasing (TXAA)
    • Временная избыточная выборка сглаживания — Temporal Super-Sampling Anti-Aliasing (TSSAA)
    • Сглаживание гибридной реконструкции — Hybrid Reconstruction Anti-Aliasing (HRAA)
    • Избыточная выборка при помощи глубокого обучения — Deep Learning Super-Sampling (DLSS)
    • FidelityFX супер разрешение — FidelityFX Super Resolution (FSR)

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

    Слева изображен куб без сглаживания, справа же — со сглаживанием 16x. Как вы видите, слева те самые «лесенки», справа, конечно, тоже «лесенки», но их края «смазаны» и без приближения стороны куба смотрятся более гладкими.

    Виды сглаживания

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

    Фактически методы различаются только двумя пунктами:

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

    Кроме этого данные алгоритмы используют разное количество пикселей для получения финального пикселя. В видеоиграх данное количество представлено достаточно просто с помощью использования числа 2 в какой-либо степени, т. е. 2x, 4x, 8x и т.д..

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

    Кроме этого следует отметить, что некоторые методы сглаживания могут использовать видеокарты как Nvidia, так и Radeon, другие же — только Nvidia или только Radeon.

    Традиционные методы

    Результат более чёткий и чистый, чем методы постобработки.

    Форсирование данных методов не гарантирует, что они будут работать в играх с отложенной отрисовкой. Данное ограничение можно обойти с помощью пониженной дискретизации, но данный способ будет сильно влиять на производительность.

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

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

    Избыточная выборка сглаживания — Super-Sampling Anti-Aliasing (SSAA)

    Данный метод также известен как Полноэкранное сглаживание Full Scene Anti-Aliasing (FSAA) от AMD и зачастую заменяется термином снижение масштабирования.

    Технически при корректном использовании снижения масштабирования разница с SSAA/MSAA будет заключаться в том, что снижение масштабирования применяется как к 2D, так и 3D объектам, в то время как SSAA/MSAA только к 3D объектам. В некоторых реализациях это может привести к меньшему снижению производительности и лучшей совместимости.

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

    Данные методы используют общую формулу сглаживания к полноэкранным изображениям, уменьшая «эффект лестницы». По сравнению с отрисованным изображением, которое прошло через MSAA, изображение SSAA/FSAA будет выглядеть более гладким. На 2D текст также могут повлиять большинство из реализации снижения масштабирования, в то время как SSAA/MSAA не должны влиять на текст при их правильной реализации.

    Реализованная на системах Nvidia Избыточная выборка сглаживания с упорядоченной решёткой — Ordered Grid Supersample Anti-Aliasing (OGSSAA). Может быть включена с помощью использования Nvidia Profile Inspector в следующих режимах: 2×1, 1×2, 2×2, 3×3, 4×4.

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

    Ниже визуализирован принцип работы данного метода.

    Множественная выборка сглаживания — Multi-Sample Anti-Aliasing (MSAA)

    MSAA по своей сути — это «бюджетная» версия SSAA.

    Для уменьшения нагрузки, которая создаётся SSAA/FSAA на системы, множественная выборка оптимизирует процесс, оценивая каждый пиксель только один раз, при этом настоящая избыточная выборка происходит только на краях отрисованного объекта и до значений глубины. Это приводит к аналогичному (но менее радикальному) улучшению качества изображения при одновременном снижении нагрузки на систему при отрисовке и снижению масштабирования в высоких разрешениях изображения.

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

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

    Мультикадровое сглаживание — Multi-Frame Anti-Aliasing (MFAA)

    Данный метод используется на видеокартах серии Nvidia GeForce GTX 900 или выше (в свою очередь метод является преемником выборки сглаживания с перекрытием CSAA).

    Метод предназначен для использования с MSAA для уменьшения негативного эффекта в виде снижения производительности за счёт чередования шаблонов выборок, используемых для каждого пикселя, как пространственно в одном кадре (например, каждый последующий пиксель использует один из четырёх разных образцов шаблонов — 2x сглаживание) и чередуются по нескольким кадрам во времени. Конечным результатом является то, что MFAA может обеспечивать качество изображения, приближающееся к 4x MSAA по производительности, сопоставимой с 2x MSAA, или 8x MFAA по производительности, сопоставимой с 4x MSAA.

    Однако стоит отметить важный момент: MFAA не работает должным образом при отрисовке ниже 40 FPS (кадров в секунду). При достижении данного порога изображение размазывается и появляется размытие в движении.

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

    Сглаживание повышенного качества — Enhanced Quality Anti-Aliasing (EQAA)

    Метод используется для видеокарт серии AMD Radeon HD 6900 и выше.

    AMD утверждает, что предлагает улучшенное качество сглаживания по сравнению со стандартными режимами MSAA, добавляя большее количество выборок для перекрытия на единицу пикселя, но сохраняя такое же количество выборок цвета/глубины/образцов для достижения лучшего качества сглаживания, чем стандартные режимы MSAA.

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

    Выборка сглаживания с перекрытием — Coverage Sampling Anti-Aliasing (CSAA)

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

    Для метода необходимы видеокарты серии Nvidia GeForce 8000 и выше. Да, именно тех самых старых видеокарт.

    В графических процессорах, которые базируются на архитектуре Maxwell, в таких как GTX 750 Ti и серия GTX 800M/900, поддержка данного сглаживания удалена.

    Метод нацелен на снижение дополнительной нагрузки, которую создаёт MSAA на систему, при этом Nvidia утверждает, что отрисовка с помощью CSAA конкурирует по качеству с 8x-16x MSAA, при этом нагрузка на систему сравнима с 4x MSAA. Данное качество достигается за счёт уменьшения количества настроек, определяемых каждой выборкой (с помощью создания новой выборки для перекрытия) при одновременном увеличении общего количества выборок.

    Данный метод аналогичен EQAA от AMD, поэтому если вы хотите узнать принцип работы сглаживания, то изучите метод EQAA.

    Избыточное шахматное сглаживание — Quincunx Super Anti-Aliasing (QSAA)

    Данный метод — это эксклюзив от Nvidia.

    Немного улучшает стандартный MSAA. Для примера: 2x QSAA примерно соответствует 3x MSAA с точки зрения качества. Данный метод по своей сути — фильтр размытия, который сдвигает отрисованное изображение вверх на половину пикселя и влево на половину пикселя для создания субпикселей. Данная технология убирает большинство неровных краёв, при этом общая детализация изображения также растёт.

    Избыточная выборка сглаживания с разряженной решёткой — Sparse Grid Super-Sampling Anti-Aliasing (SGSSAA)

    Метод — эксклюзив от Nvidia.

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

    Существует две разновидности метода: FSSGSSAA (Полноэкранная избыточная выборка сглаживания с разряженной решеткой — Full Scene Sparse Grid Supersampling Anti-Aliasing, чаще всего называемая SGSSAA) и TrSGSSAA (Прозрачная полноэкранная выборка сглаживания — Transparency Sparse Grid Supersampling Anti-Aliasing, чаще всего называемая TrSSAA).

    Прозрачная версия включается с помощью настройки в панели Nvidia. Полноэкранная версия требует установить настройки сглаживания — Режим переопределения настроек приложения, Сглаживание — Настройки для 2x 4x или 8x избыточной выборки и Сглаживание — Прозрачность на аналогичное значение в тех же настройках. Обратите внимание, что со стороны игр требуется поддержка данных видов сглаживания, небольшой список вы можете просмотреть по ссылке: NVidia Profile Inspector — AA Flags — Google Диск или воспользоваться Nvidia Profile Inspector.

    Если вспомнить немного истории, то Nvidia внедрила поддержку TRSSAA в одном из своих альфа тестов. Однако в одном из драйверов присутствовала ошибка и метод SGSSAA применялся ко всем пикселям. Они исправили ошибку в следующем релизе, но многие пользователи начали жаловаться, что с SGSSAA изображение было лучше. Это заставило Nvidia заново включить данную ошибку в свой драйвер. На текущий момент данный вид сглаживания не поддерживается и Nvidia предупреждает, что данный метод вы используете на свой страх и риск, но другой разработчик включил данную ошибку в другой инструмент nvidia inspector, если данной настройки у вас нет.

    SGSSAA может оказаться лучше или хуже OGSSAA в nvidia inspector в зависимости от игры. В некоторых играх один из методов может сделать картинку размытой, а другой — нет, и наоборот. Метод работает практически на любом API. Он работает путём многократной отрисовки в нескольких промежуточных выборках вне экрана, каждый раз применяя смещение к выборкам в разных направлениях. После этого он смешивает постобработку буферов. В настоящее время никто, кроме nvidia не знает наверняка, является ли данная реализация аппаратной или основана на драйверах (шейдерах).

    Сглаживание гибридной выборки — Hybrid-Sampling Anti-Aliasing (HSAA)

    Данный метод использует комбинацию SSAA и MSAA.

    Пользователи Nvidia могут использовать Nvidia Profile Inspector для принудительной установки необходимой версии, которая использует SSAA с упорядоченной сеткой вместе с обычным MSAA в некоторых играх (режимы с расширением xS).

    Иногда работает в тех случаях, когда SGSSAA не работает или работает с слишком высоким размытием из-за ошибки в драйвере.

    Методы постобработки

    Данные методы используют меньше ресурсов по сравнению с традиционными методами.

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

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

    Данные методы должны применяться перед отрисовкой элементов интерфейса в игре для исключения воздействия на них.

    Быстрое приблизительное сглаживание — Fast Approximate Anti-Aliasing (FXAA)

    Метод не требует больших вычислительных мощностей. Это достигается за счёт сглаживания неровных краёв («неровностей») исходя из того, как они изображаются на экране в виде пикселей, вместо того, чтобы анализировать сами 3D — модели, как при обычном сглаживании. Кроме этого метод достаточно быстрый, он выполняется за 1,3 миллисекунды на 1 кадр.

    Однако улучшение качества изображение, которое достигается данным методом по качеству несколько хуже, чем традиционные методы сглаживания, такие как MSAA. Данный метод может быть применён дважды с использованием двух отдельным инструментов (например, внутриигровые настройки и панелью управления видеодрайвера и т. д.) или же поверх SMAA или TAA для дальнейшего удаления неровностей, но с большой долей вероятности данный метод ухудшит размытие наравне с увеличением производительности.

    Немного подробнее рассмотрим данный метод. Для этого воспользуемся изображением:

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

    Слева направо: без сглаживания, 4x MSAA и FXAA preset 3.

    В ответ на данный метод от Nvidia существует MLAA метод от AMD.

    Морфологическое сглаживание — Morphological Anti-Aliasing (MLAA)

    Доступно на картах AMD на Windows и может быть принудительно запущено для всех игр через панель управления драйвером видеокарты независимо от используемого графического API, а также для игр OpenGL под Linux с драйверами Mesa.

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

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

    1. Находим разрывы между пикселями на изображении.

    2. Определяем переопределённые выборки.

    3. Смешиваем цвета по соседству с данными шаблонами.

    Слева вы можете видеть изображение без сглаживания, а справа с применением MLAA.

    Субпиксельное морфологическое сглаживание — Subpixel Morphological Anti-Aliasing (SMAA)

    Данный метод может быть добавлен в большинство игр через ReShade (даже в игры с определение глубины границ)

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

    Метод использует функции локального контраста для определения краёв, а также ускоренный и более точный поиск по расстоянию между пикселями, что позволяет лучше распознавать шаблоны для сглаживания. Это позволяет восстанавливать субпиксели, сопоставимо с сглаживанием 4x MSAA, кроме этого данное сглаживание гибко настраивается под конкретные нужды разработчиков.

    Субпиксельное восстанавливаемое сглаживание — Subpixel Reconstruction Anti-Aliasing (SRAA)

    В настоящее время используется только в Unigine 2.13.

    Метод сочетает в себе однопиксельное затенение с субпиксельной видимостью для создания сглаженных изображений без значительного уменьшения производительности. SRAA направлено на отрисовку с отложенным затенением, которую не может использовать MSAA. SRAA работает как постобработка на отрисованном изображении с глубиной сверхвысокого разрешения и нормальными буферами, поэтому его возможно включить в существующий метод отрисовки без изменения шейдеров. SRAA по своему принципу действия похож на Морфологическое сглаживание (MLAA), но новый метод лучше учитывает геометрические границы и имеет фиксированное время выполнения, независимо от сцен и сложности изображения. SRAA приносит пользу приложениям, привязанных к затенению. SRAA обеспечивает ускорение по сравнению с SSAA, которые тратят больше 1 мс на затенение, для понимания — в большинстве современных игр на этот процесс уделяется от 5 до 10 мс.

    Слева изображено сглаживание 16x SSAA, справа 4x SRAA.

    Консервативное морфологическое сглаживание — Conservative Morphological Anti-Aliasing (CMAA)

    Метод CMAA находится между FXAA и SMAA 1x по необходимой вычислительной мощности (требует в 1.0-1.2 больше чем FXAA 3.8 и в 0.55-0.75 раза больше чем SMAA 1x).

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

    У CMAA четыре основных логических шага (шаги не всегда связаны с порядком при реализации):

    Анализ изображения на предмет неоднородности цвета (впоследствии сохраняется в локальном сжатом «рёберном» буфере). Используемый метод не является уникальным для CMAA.

    Извлечение доминирующих рёбер с небольшим ядром (уникальная особенность среди существующих методов).

    Обработка симметричных длинных ребер (уникальный подход к оригинальному алгоритму обработки форм в MLAA).

    Ниже вы можете увидеть примеры работы данного метода в сравнении с другими.

    Направленно локализованное сглаживание — Directionally Localized Anti-Aliasing (DLAA)

    Метод используется в Star Wars: The Force Unleashed II, но вы можете его найти в некоторых других играх, особенно на движке Unity.

    Согласно информации от автора, данный метод сопоставим с MLAA, но с лучшей стабильностью по времени кадра.

    Динамическое сверхвысокое разрешение — Dynamic Super Resolution (DSR)

    Метод, представленный Nvidia.

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

    Виртуальное сверхвысокое разрешение — Virtual Super Resolution (VSR)

    Метод, представленный AMD.

    Технология аналогична Dynamic Super Resolution от Nvidia, поэтому если вы хотите более подробно ознакомиться с данным методом, то посмотрите немного выше в статье.

    Временные методы

    Методы стараются смягчить эффекты временного искажения.

    Большинство методов вызывают значительное размытие во время движения.

    Временное сглаживание — Temporal Anti-Aliasing (TAA)

    Временное сглаживание — общий термин для различных временных методов. Не ограничен конкретным производителем.

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

    Временное приблизительное сглаживание — Temporal approXimate Anti-Aliasing (TXAA)

    Метод предназначен для видеокарт серии Nvidia GeForce GTX 600 и выше.

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

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

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

    Ниже вы можете увидеть сравнение нескольких режимов: без сглаживания, FXAA, SMAA и TXAA

    Временная избыточная выборка сглаживания — Temporal Super-Sampling Anti-Aliasing (TSSAA)

    Данный метод также известен как TMAA.

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

    В отличии от TXAA, TSSAA не привязан к конкретному производителю и работает для всех видеокарт. Данный метод сглаживания был применён в World of Tanks с версии 9.9. В данной игре он поделился на две версии:

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

    TSSAA-HQ — метод сглаживания высочайшего качества. Даже если у вашего компьютера недостаточно производительный процессор, вы можете не заметить разницы в производительности между HQ и LQ, т. к. основная нагрузка ложится на видеокарту.

    Ниже вы можете увидеть сравнение изображения: без сглаживания, FXAA, TSSAA-LQ и TSSAA-HQ.

    Методы реконструкции

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

    Сглаживание гибридной реконструкции — Hybrid Reconstruction Anti-Aliasing (HRAA)

    Данный метод — гибридное решение аппаратной выборки, постобработки, временной обработки и анализа. Сглаживание было разработано Ubisoft Montreal и применено в Far Cry 4. Метод основан на лучших элементах постобработки, равен SMAA с точки зрения четкости изображения в статических моментах при попытке устранить мерцание, которое вызвано отсутствием временной выборки.

    На практике на PS4 HRAA достаточно успешно обрабатывает неровности, избегая остаточного размытия текстуры. Данная проблема присутствует при использовании популярного метода FXAA. С геометрическими искажениями трудно справиться и при работе с конечной целью растеризации субпиксельные элементы тщательно очищаются. В неподвижных изображениях игра сохраняет резкость во всех нужных местах. Вторая же цель метода — улучшить работу сглаживания в движении. Высококонтрастные элементы, такие как промежутки между листвой деревьев (типичная жертва временного мерцания), выигрывают от смешивания текущего и предыдущего кадров, чтобы уменьшить визуальные помехи. Конечным результатом является очень небольшое мерцание, напоминающее метод TXAA, используемый на ПК.

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

    Избыточная выборка при помощи глубокого обучения — Deep Learning Super-Sampling (DLSS)

    Метод — эксклюзив видеокарт Nvidia RTX.

    DLSS эмулирует избыточную выборку с использованием нейронной сети для вывода дополнительных деталей поверх внутриигровой отрисовки, сопоставляя его с эталонным изображением, которое было отрисовано с использованием избыточной выборки 64x (64xSS).

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

    DLSS использует 2/3 от окончательного разрешения для отрисовки, а затем масштабирует его до полного разрешения.

    DLSS 2X — единственный метод, который может отрисовать разрешение игры таким же, как выходное разрешение.

    Ниже вы можете рассмотреть примеры работы метода.

    Ниже один из примеров различия в качестве DLSS, кроме этого вы можете посмотреть подробное видео по DLSS у нас на Youtube – канале.

    FidelityFX супер разрешение — FidelityFX Super Resolution (FSR)

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

    В основе FSR лежит передовой алгоритм, который обнаруживает и воссоздаёт края с высоким разрешением из исходного изображения. Эти края с высоким разрешением являются критическим элементом, необходимым для превращения текущего кадра в изображение «супер разрешения».

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

    FSR состоит из двух основных этапов:

    • Этап масштабирования называется гранично-адаптивной пространственной повышающей дискретизации (EASU — Edge-Adaptive Spatial Upsampling), который выполняет реконструкцию краёв. На этом этапе входной кадр анализируется, и основная часть алгоритма обнаруживает изменение градиента смотря на отличия соседних градиентов из набора входных пикселей. Интенсивность изменения градиента определяет веса, применяемые к реконструированным пикселям на конечном разрешении экрана.
    • Этап повышения резкости называется активной контрастно-адаптивной резкостью (RCAS — Robust Contrast-Adaptive Sharpening), который извлекает детали пикселя из масштабированного изображения.

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

    FSR FidelityFX супер разрешение ищет изменение градиента в исходном изображении для восстановления краев высокой четкости при повышении разрешения.

    Сравнение качества сглаживания в разных сценах

    Теперь рассмотрим несколько примеров разных видов сглаживания для сравнения.

    Выводы

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

    Пользоваться сглаживанием или нет? Решать только вам!

    Суперсэмплинг

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

    Вот как это выглядит на практике, когда виртуальное разрешение в два раза выше итогового (видимого на экране монитора) по горизонтали и вертикали:

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

    Несмотря на то, что метод давно реализован, по причине огромного падения скорости (в рассмотренном нами случае — примерно в четыре раза!), практически никакого распространения он не получал, до сравнительно недавнего времени — начала 2000 года. Именно тогда появились достаточно мощные ускорители, такие как NVIDIA GeForce2 GTS и ATI Radeon256.

    В новых драйверах Detonator, серии 5. хх, NVIDIA раньше конкурентов реализовала возможность принудительного включения анти-алиасинга, в любых трехмерных играх, на всех видеокартах семейства GeForce. Это значит, что теперь от игры больше не требовалось, чтобы она сама включала анти-алиасинг: теперь это, при желании пользователя, делал драйвер.

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

    Вскоре, после выхода GeForce2 GTS, ATI выпустила достойный ответ. Это был ускоритель Radeon256, составивший серьезную конкуренцию GeForce2. Естественно, не была обойдена вниманием ставшая тогда очень модной функция анти-алиасинга. ATI никак не усовершенствовала стандартную реализацию и, точно так же, ввела принудительное включение полноэкранного сглаживания в любых играх, поэтому нет смысла рассматривать ее отдельно (все, выше сказанное о суперсэмплинге, верно и для Radeon256).

    Мультисэмплинг

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

    ATI также не осталась в стороне. В ответ на семейство GF3, она выпустила очень серьезный продукт, помимо всего прочего, поддерживающий фирменный метод анти-алиасинга, альтернативный подходу NVIDIA.

    В начале 2001 года NVIDIA выпустила на рынок новый ускоритель, приятно удивляющий количеством новых и усовершенствованных функций. Одной из них был новый метод полноэкранного сглаживания, называемый High-Resolution AntiAliasing (или просто HRAA). Вряд ли можно утверждать, что его качество превосходит качество традиционного суперсэмплинга, но скорость была очень и очень серьезно увеличена, что было направлено на решение главной проблемы анти-алиасинга, которая не снята до сих пор: падение скорости от включения этой функции часто так велико, что вместо нее можно увеличить разрешение, поставить максимальные настройки графики и иметь при этом большую скорость. Именно поэтому, некоторые люди, скептически относятся к анти-алиасингу, вообще не видя смысла в его применении в играх. Разберемся в принципах работы нового метода сглаживания.

    Основная идея метода NVIDIA, позволившая столь существенно поднять скорость этой функции состоит в том, что сглаживание делается только на краях треугольников (полигонов) и не делается внутри них или за их пределами. Логика здесь проста: алиасинга не бывает внутри треугольников — с пикселизацией текстур справляются билинейная или анизотропная фильтрации. Алиасинга не бывает и за пределами всех треугольников, потому, что где нет треугольников, там нет и объектов, на которых можно наблюдать «лестничный эффект». То есть, ускоритель был освобожден от значительной части работы, связанной со сглаживанием всего изображения полностью, и делал сглаживание только там, где есть алиасинг.

    Выгода от такого решения очевидна: серьезный прирост в скорости. Каковы же недостатки? Если вы помните, выше, в начале раздела, я рассказывал о том положительном влиянии, которое оказывает полноэкранное сглаживание на текстуры, значительно улучшая их качество. Так вот: HRAA не оказывает на текстуры никакого влияния вообще, ни положительного, ни отрицательного. Эта функция на 100% соответствует своему названию, специализируется исключительно на борьбе с эффектом алиасинга и ничего больше не делает (в отличие от суперсэмплинга, качественно сглаживающего все изображение без исключений).

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

    Средство SuperSampling

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

    В 3ds max специальные фильтры сглаживания используются непосредственно в процессе визуализации. С помощью дополнительного типа сглаживания SuperSampling существенно улучшается внешний вид объекта уже на уровне материалов. Существует несколько различных методов сглаживания типа SuperSampling.

    Более подробно разнообразные фильтры сглаживания рассмотрены в главе 34, «Основы визуализации».

    Тип сглаживания SuperSampling активизируется только при активизации параметра Anti-Aliasing в диалоговом окне Render Scene (Визуализировать сцену). Материалы типа Raytrace имеют собственный алгоритм SuperSampling, так что для них активизация этого средства не нужна.

    Использование сглаживания типа SuperSampling может существенно увеличить время визуализации изображения.

    При использовании сглаживания типа SuperSampling проводятся выборки цвета точек, которые располагаются вокруг пикселя. Эти выборки используются затем для того, чтобы определить конечный цвет каждого пикселя изображения. Существует четыре метода сглаживания SuperSampling.

    • Adaptive Halton (Адаптивный полутон). Метод, при котором выборка делается полупроизвольно вдоль координатных осей X и Y. Размер выборки варьируется от 4 до 40.
    • Adaptive Uniform (Адаптивная с постоянным шагом). Метод, при котором выборка делается через определенные интервалы вокруг центра пикселя. Размер выборки — от 4 до 26.
    • Hammersley. Метод, при котором по оси X выборка выполняется через определенные интервалы, а по оси Y — произвольно. Размер выборки — от 4 до 40.
    • МАХ 2.5 Star (Звезда МАХ 2.5). Метод, при котором вдоль каждой оси выполняется по четыре выборки.

    Первые три метода позволяют выбрать точность сглаживания, установив значение параметра Quality (Точность). Этот параметр определяет количество взятых выборочных значений. Чем больше выборка, тем точнее изображение, но и тем больше времени требуется на визуализацию. Оба адаптивных метода (Adaptive Halton и Adaptive Uniform) содержат параметр Adaptive (Адаптация) с полем Threshold (Пороговая величина). Если изменение цвета соответствует значению пороговой величины, то автоматически увеличивается размер выборки. Параметр Super-Sampling Texture (Сглаживание текстур) позволяет добавлять карты в процесс сглаживания.

    Fore kc .ru
    Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий

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

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