Избыточная выборка сглаживания

Избыточная выборка сглаживания или суперсемплинг[1] (англ. Supersample anti-aliasing, SSAA) — это наиболее простая и, вместе с тем, ресурсоёмкая техника сглаживания (англ. Anti-aliasing, AA).

Описание

В процессе растеризации графического примитива (треугольника, линии или точки) без сглаживания GPU определяет цвет каждого пикселя на основе выборки (англ. sample) из центра этого пикселя. Если центр пикселя лежит внутри примитива, то этот пиксель закрашивается цветом выборки.

Суперсэмплинг увеличивает число дискретных выборок на пиксель (как правило, в 2N раз). В случае с N = 2 выборка производится с удвоенной частотой по обеим осям и сохраняется в экранном буфере (англ. back buffer) При использовании SSAA Nx размер этого буфера увеличивается в N раз. Так, для разрешения 1280x1024 с SSAA 4x необходим экранный буфер такого же размера, как при разрешении 2560x2048 без SSAA. Очевидно, что каждому пикселю на экране в таком случае соответствует 4 пикселя в экранном буфере, поэтому пиксели экранного буфера называют субпикселями (англ. subpixel).

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

где:

result — итоговый цвет пикселя,
n — количество выборок на пиксель,
samplei — цвет i-й выборки.

Расположение выборок

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

  • Ordered Grid SuperSampling (OGSS) — выборки располагаются на обычной регулярной сетке.
  • Rotated Grid SuperSampling (RGSS) — выборки располагаются на повёрнутой сетке. Этом метод дает особенно хороший результат на близких к горизонтальным и вертикальным линиях.
  • Sparse Grid SuperSampling (SGSS) — выборки располагаются на регулярной сетке, как в OGSS. В отличие от последнего, выборка производится лишь на некоторых узлах сетки. Это первый метод сглаживания, являющийся компромиссом между скоростью работы и качеством изображения[2].


См. также

Примечания

  1. В DirectX SDK Documentation эта технология называется oversampling
  2. Anti-aliasing technologies (недоступная ссылка). Дата обращения: 12 июня 2013. Архивировано 30 мая 2013 года.

Ссылки

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.