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

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

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

Описание[править | править вики-текст]

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

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

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

result = \frac{sample_0 + sample_1 + ... + sample_{n-1}}{n} = \frac{\sum^{n-1}_{i=0} {sample_i}}{n}

где

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

Ссылки[править | править вики-текст]