Сглаживание | это... Что такое Сглаживание? (original) (raw)

Пример сглаживания — изображение слева не сглажено, к изображению справа применено сглаживание 4x

Сгла́живание — технология, использующаяся в обработке изображений с целью сделать границы кривых линий визуально более гладкими, убирая «зубцы», возникающие при растеризации на краях объектов. Сглаживание было придумано в 1972 в Массачусетском технологическом институте в Architecture Machine Group, которая позже стала основной частью Media Lab.

Основной принцип сглаживания

Буква а с ClearType сглаживанием (слева) и без сглаживания (справа) на TFT-мониторе

Основной принцип сглаживания — использование возможностей устройства вывода для показа оттенков цвета, которым нарисована кривая. В этом случае пикселы, соседние с граничным пикселом изображения, принимают промежуточное значение между цветом изображения и цветом фона, создавая градиент и размывая границу.

Применяется два варианта сглаживания:

Следует заметить, что сглаживание зависит от гаммы монитора. В частности, среднее между 0,2 и 0,8 — это не обязательно 0,5, а \left(\frac {0{,}2^\gamma+0{,}8^\gamma} 2\right)^{1/\gamma}. Особенно это заметно на тонких узорах и тексте. Поэтому сглаживание наилучшего качества получается только тогда, когда \gamma известна.

Полноэкранное сглаживание

Избыточная выборка сглаживания (англ. Super Sampling anti-aliasing, SSAA) [1], также называемое полносценным или полноэкранным сглаживанием (FSAA)[2], используется, для исправления алиасинга (или «зубцов») на полноэкранных изображениях.[3] SSAA было доступно на ранних видеокартах, вплоть до DirectX 7. Начиная с DirectX 8 было убрано всеми производителями графических процессоров из-за его огромных вычислительных требований, и было заменено на множественную выборку сглаживания (англ. Multisample anti-aliasing, MSAA), которое также было заменено другими методам, такими как CSAA + TrAA/AAA. MSAA даёт несколько худшее качество графики, но и обеспечивает огромную экономию вычислительной мощности. Поскольку SSAA даёт более высокое качество изображения, поэтому оно было некоторое время тому назад возвращено у AMD и NVIDIA. В модельный ряд AMD HD6xxx он включён в качестве особенности (ограничено только для игр на DirectX 9), также он был выпущен драйверами NVIDIA Fermi, для всех игр, начиная с игр на DirectX 9, и заканчивая играми на DirectX 11 с использованием любых видеокарт NVIDIA с поддержкой DX10+. Из-за больших вычислительных требований, с ним можно запустить только старые игры, которые значительно меньше используют графический процессор.

В результате изображение с SSAA выглядит более мягко и более реалистично. Однако, у фотографических изображений с простым сглаживанием (например, суперсэмплинг, а затем усреднение) может ухудшиться внешний вид некоторых типов линейных рисунков или диаграмм (изображение будет выглядеть размыто), особенно там, где линии наиболее горизонтальны или вертикальны. В этих случаях, может быть использован хинтинг.

Полноэкранное сглаживание позволяет устранить характерные «лесенки» на границах полигонов. Но следует учитывать, что полноэкранное сглаживание потребляет немало вычислительных ресурсов, что приводит к падению частоты кадров.

Сглаживание очень сильно зависит от производительности видеопамяти, поэтому скоростная графическая плата с быстрой памятью сможет просчитать полноэкранное сглаживание с меньшим ущербом для производительности, чем графическая карта более низкого класса. Сглаживание можно включать в различных режимах. Например, сглаживание 4x даст более качественное изображение, чем сглаживание 2x, но значительно снизит производительность. Тогда как сглаживание 2x удваивает горизонтальное и вертикальное разрешение, режим 4x его учетверяет.

См. также

Примечания

  1. AnandTech - AMD's Radeon HD 5870: Bringing About the Next Generation Of GPUs
  2. Jason Gregory and Jeff Lander Game Engine Architecture. — A K Peters, Ltd., 2009. — P. 39. — ISBN 9781568814131
  3. M. Carmen Juan Lizandra (June 2000). «Graphic libraries for Windows programming». Crossroads, the ACM Student Magazine (ACM) 6 (4). DOI:10.1145/333424.333433.
  4. http://developer.download.nvidia.com/assets/gamedev/files/sdk/11/FXAA_WhitePaper.pdf

Ссылки