Сглаживание
Эта статья должна быть полностью переписана. |
Сгла́живание (англ. anti-aliasing) — технология, используемая для устранения эффекта «зубчатости», возникающего на краях одновременно выводимого на экран множества отдельных друг от друга плоских или объёмных изображений. Сглаживание было придумано в 1972 году в Массачусетском технологическом институте в Architecture Machine Group, которая позже стала основной частью Media Lab.
Основной принцип сглаживанияПравить
Основной принцип сглаживания — использование возможностей устройства вывода для показа оттенков цвета, которым нарисована кривая. В этом случае пиксели, соседние с граничным пикселем изображения, принимают промежуточное значение между цветом изображения и цветом фона, создавая градиент и размывая границу.
Применяется два варианта сглаживания:
- Общее сглаживание отрисовкой излишне крупного несглаженного изображения с последующим уменьшением разрешения.
- Специализированные алгоритмы сглаживания, работающие на изображениях определённого типа (например, Алгоритм Ву для отрисовки отрезков).
Следует заметить, что сглаживание зависит от гаммы монитора. В частности, среднее между 0,2 и 0,8 — это не обязательно 0,5, а . Особенно это заметно на тонких узорах и тексте. Поэтому сглаживание наилучшего качества получается только тогда, когда известна.
Полноэкранное сглаживаниеПравить
SSAAПравить
Избыточная выборка сглаживания (англ. Supersample anti-aliasing, SSAA)[1], также называемое полносценным или полноэкранным сглаживанием (FSAA)[2], используется для исправления алиасинга (или «зубцов») на полноэкранных изображениях[3]. SSAA было доступно на ранних видеокартах, вплоть до DirectX 7. Начиная с DirectX 8 из-за огромной вычислительной сложности было заменено всеми производителями графических процессоров на множественную выборку сглаживания, который также был заменён другими методами, такими как CSAA + TrAA/AAA. MSAA даёт несколько худшее качество графики, но и обеспечивает огромную экономию вычислительной мощности. Поскольку SSAA даёт более высокое качество изображения, он не был полностью исключён и до сих пор реализуется аппаратно в продуктах AMD и NVIDIA. В модельный ряд AMD HD6xxx он включён в качестве особенности (только для игр на DirectX 9), также он был включён в драйвера NVIDIA Fermi, для всех игр, начиная с игр на DirectX 9, и заканчивая играми на DirectX 11 с использованием любых видеокарт NVIDIA с поддержкой DirectX 10 и выше.
В результате изображение с SSAA выглядит более мягко и реалистично. Однако у фотографических изображений с простым сглаживанием (например, суперсэмплинг, а затем усреднение) может ухудшиться внешний вид некоторых типов линейных рисунков или диаграмм (изображение будет выглядеть размыто), особенно там, где линии наиболее горизонтальны или вертикальны. В этих случаях может быть использован хинтинг.
Полноэкранное сглаживание позволяет устранить характерные «лесенки» на границах полигонов. Однако следует учитывать, что полноэкранное сглаживание потребляет немало вычислительных ресурсов, что приводит к падению частоты кадров.
Качество сглаживания ограничено пропускной способностью видеопамяти, поэтому GPU с быстрой памятью сможет просчитать полноэкранное сглаживание с меньшим ущербом для производительности, чем GPU более низкого класса. Сглаживание можно включать в различных режимах. Например, сглаживание 4x даст более качественное изображение, чем сглаживание 2x, но значительно снизит производительность. Сглаживание 2xSSAA удваивает разрешение, тогда как 4xSSAA его учетверяет[4].
FXAAПравить
FXAA (Fast approXimate Anti-Aliasing) — метод сглаживания от Nvidia[5], представляющий собой однопроходный пиксельный шейдер, который обсчитывает результирующий кадр на этапе постобработки. Является более производительным решением, по сравнению с традиционным MSAA (Multi-Sampling Anti-Aliasing), что, однако, сказывается на точности работы и качестве изображения.
MFAAПравить
MFAA (Multiframe Sampled Anti-Aliasing) — метод сглаживания от Nvidia. Целью MFAA является достижение равноценного сглаживания при более высокой частоте кадров. В идеале MFAA 4х по производительности должен соответствовать MSAA 2х, но обеспечить качество, как у MSAA 4x, или выше.[6]
См. такжеПравить
ПримечанияПравить
- ↑ AnandTech — AMD’s Radeon HD 5870: Bringing About the Next Generation Of GPUs
- ↑ Jason Gregory and Jeff Lander. Game Engine Architecture. — A K Peters, Ltd., 2009. — P. 39. — ISBN 9781568814131.
- ↑ M. Carmen Juan Lizandra. Graphic libraries for Windows programming (неопр.) // Crossroads, the ACM Student Magazine. — ACM, 2000. — June (т. 6, № 4). — DOI:10.1145/333424.333433.
- ↑ Rayce185. Anti-aliasing: The Basics . overclock (январь 2009).
- ↑ http://developer.download.nvidia.com/assets/gamedev/files/sdk/11/FXAA_WhitePaper.pdf
- ↑ Андрей Шиллинг. Тест и обзор: NVIDIA GeForce GTX 980 и GeForce GTX 970 на архитектуре Maxwell . www.hardwareluxx.ru. Дата обращения 12 сентября 2016.
ЛитератураПравить
- Данил Гридасов. Под микроскопом. GeForce CSAA vs. Radeon CFAA . i3D-Quality. iXBT (23 октября 2008). Дата обращения 30 сентября 2010.
- Kristof Beets, Dave Barron. Анализ методов сглаживания на основе super-sampling . iXBT (7 июня 2000). Дата обращения 30 сентября 2010.
СсылкиПравить
Эту статью следует викифицировать. |