Множественная выборка сглаживания

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

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

Описание

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

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

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

r=s0+s1+...+sn1n;

где:

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

Отличие этого способа сглаживания от SSAA в том, что 4-кратный экранный буфер используется лишь для пикселей, показывающих края какого-либо объекта, сглаживание «лесенок» на которых и является главной задачей. Это позволяет увеличить производительность, но не работает на прозрачных полигонах, а также несовместимо с методом отложенного освещения в DirectX 9 и младше.

См. также

Примечания

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

Шаблон:Cg-stub