Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Термины / Antialiasing (Сглаживание)

Antialiasing (Сглаживание)

Устранение контурных неровностей, дефектов изображения. Способ обработки (интерполяции) пикселей для получения более четких краев (границ) изображения (объекта). Наиболее часто используемая техника для создания плавного перехода от цвета линии или края к цвету фона. В некоторых случаях результатом является смазывание (blurring) контуров объектов. Т.к. монитор представляет из себя сетку пикселей, линии отличные от вертикальных и горизонтальных получаются ступенчатыми. Чтобы сгладить этот эффект применяются различные техники сглаживания. Две основные: Supersampling и Multisampling.

Идея этих двух техник в том, что изображение рисуется в буфер кадра, в увеличенном в N раз разрешении. Таким образом, для каждого пикселя в результирующем изображении соответствует N суб-пиксельных значений цвета (сэмплов). После того, как вывод в буфер окончен, он "сжимается" с усреднением цветовых значений сэмплов. Таким образом, получается сглаженная сцена.

Supersampling(SSAA) является самой простой в реализации техникой и полностью следует исходной идее. Он также является самым ресурсоемким методом реализации АА.
Multisampling(MSAA) немного изменяет подход к тому, как рассчитывается цвет отдельных сэмплов одного пикселя. В SSAA расчёт цвета во фрагментном шейдере исполняется для каждого сэмпла в отдельности. В MSAA фрагментный шейдер исполняется только один раз. Таким образом, видимые изменения происходят только на границах объектов, но не внутри них. Получается более быстрый, но в некоторых случаях менее качественный АА. Это видно в отсутствии сглаживания на треугольниках, у которых некоторые фрагменты внутри отброшены тестом альфы или фрагментным шейдером (discard\clip).

Сэмплы в буфере могут быть связаны с разными физическими положениями внутри пикселя, не смотря на то, что в буфере они, скорее всего, расположены в регулярном порядке. Можно отметить следующие способы расположения:
Orientied Grid Super Sampling - сэмплы располагаются на обычной, регулярной сетке.
Rotated Grid Super Sampling - сэмплы располагаются на повёрнутой сетке. Этом метод дает особенно хороший результат на близких к горизонтальным и вертикальным линиях.
Современные видеокарты имеют более свободную привязку положений к сэмплам, к примеру, карты АТИ в некоторых режимах качества могут располагать позиции даже за пределами самого пикселя.

Что такое Antialiasing (Сглаживание)?

15 августа 2005


Обновление: 13 февраля 2008

2001—2018 © GameDev.ru — Разработка игр