Избыточная выборка сглаживания
Избыточная выборка сглаживания или суперсемплинг[1] (Шаблон:Lang-en) — это наиболее простая и, вместе с тем, ресурсоёмкая техника сглаживания.
Описание
В процессе растеризации графического примитива (треугольника, линии или точки) без сглаживания GPU определяет цвет каждого пикселя на основе выборки (Шаблон:Lang-en) из центра этого пикселя. Если центр пикселя лежит внутри примитива, то этот пиксель закрашивается цветом этого примитива.
Суперсэмплинг увеличивает число дискретных выборок на пиксель (как правило, в раз). В случае с выборка производится с удвоенной частотой по обеим осям и сохраняется в экранном буфере (Шаблон:Lang-en). При использовании SSAA Nx размер этого буфера увеличивается в раз. Так, для разрешения 1280x1024 с SSAA 4x необходим экранный буфер такого же размера, как при разрешении 2560x2048 без SSAA. Очевидно, что каждому пикселю на экране в таком случае соответствует 4 пикселя в экранном буфере, поэтому пиксели экранного буфера называют субпикселями, не путать с субпикселями мониторов.
Если очередная выборка оказывается внутри растеризуемого примитива, её результат сохраняется в соответствующий субпиксель. В остальных случаях результат выборки игнорируется. После того, как все нужные выборки сохранены в экранном буфере, итоговый цвет пикселя определяется как усредненное значение цветов всех соответствующих ему субпикселей. В случае (см. гамма-коррекция) формула выглядит следующим образом:
где:
- — итоговый цвет пикселя,
- — количество выборок на пиксель,
- — цвет -й выборки.
Расположение выборок
Выборки могут иметь разное физическое расположение внутри пикселя. Можно отметить следующие способы расположения:
- Ordered Grid SuperSampling (OGSS) — выборки располагаются на обычной регулярной сетке.
- Rotated Grid SuperSampling (RGSS) — выборки располагаются на повёрнутой сетке. Этом метод даёт особенно хороший результат на близких к горизонтальным и вертикальным линиях.
- Sparse Grid SuperSampling (SGSS) — выборки располагаются на регулярной сетке, как в OGSS. В отличие от последнего, выборка производится лишь на некоторых узлах сетки. Это первый метод сглаживания, являющийся компромиссом между скоростью работы и качеством изображения[2].
- Custom Filter Anti-Aliasing (CFAA) — выборки располагаются не только внутри, но и вне пикселя[3].
См. также
Примечания
Ссылки
- ↑ В DirectX SDK Documentation эта технология называется oversampling
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web