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

Материал из testwiki
Перейти к навигации Перейти к поиску

Избыточная выборка сглаживания или суперсемплинг[1] (Шаблон:Lang-en) — это наиболее простая и, вместе с тем, ресурсоёмкая техника сглаживания.

Описание

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

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

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

r=s0+s1+...+sn1n=i=0n1sin

где:

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

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

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

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

См. также

Примечания

Шаблон:Примечания

Ссылки

Шаблон:Cg-stub

  1. В DirectX SDK Documentation эта технология называется oversampling
  2. Шаблон:Cite web
  3. Шаблон:Cite web