Jump to content

Мультисэмпловое сглаживание

Мультисэмпловое сглаживание ( MSAA ) — это тип пространственного сглаживания , метод, используемый в компьютерной графике для удаления неровностей .

Определение [ править ]

Этот термин обычно относится к особому случаю суперсэмплинга . Первоначальные реализации полносценного сглаживания ( FSAA ) концептуально работали путем простого рендеринга сцены с более высоким разрешением, а затем понижения разрешения до выходного сигнала с более низким разрешением. Большинство современных графических процессоров поддерживают такую ​​форму сглаживания, но она сильно нагружает такие ресурсы, как текстуры, пропускная способность и скорость заполнения . (Если программа сильно привязана к TCL или процессору , суперсэмплинг можно использовать без особого снижения производительности.)

Согласно спецификации OpenGL GL_ARB_multisample, [1] «Мультидисэмплинг» относится к конкретной оптимизации суперсэмплинга. Спецификация предписывает, чтобы средство рендеринга оценивало программу фрагмента один раз для каждого пикселя и только «по-настоящему» выполняло суперсэмплирование значений глубины и трафарета . (Это не то же самое, что суперсэмплинг, но согласно спецификации OpenGL 1.5 [2] определение было обновлено и теперь включает в себя полную реализацию суперсэмплинга.)

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

Описание [ править ]

При сглаживании суперсэмпла в каждом пикселе производится выборка из нескольких мест, и каждая из этих выборок [3] полностью визуализируется и объединяется с другими для создания пикселя, который в конечном итоге отображается. Это требует больших вычислительных затрат, поскольку весь процесс рендеринга необходимо повторять для каждого местоположения образца. Это также неэффективно, поскольку сглаживание обычно заметно только в некоторых частях изображения, например по краям, тогда как суперсэмплинг выполняется для каждого отдельного пикселя.

При мультисэмпловом сглаживании, если какое-либо из положений мультисэмпла в пикселе покрыто визуализируемым треугольником, для этого треугольника необходимо выполнить вычисление затенения. Однако этот расчет необходимо выполнить только один раз для всего пикселя, независимо от того, сколько позиций выборки охвачено; результат расчета затенения просто применяется ко всем соответствующим местоположениям нескольких образцов.

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

Расчет затенения — не единственная операция, которую необходимо выполнить с данным пикселем; Реализации множественной выборки могут по-разному осуществлять выборку других операций, таких как видимость, на разных уровнях выборки.

Преимущества [ править ]

  • Пиксельный шейдер обычно необходимо оценивать только один раз для каждого пикселя для каждого треугольника, охватывающего хотя бы одну точку выборки.
  • Края полигонов (наиболее очевидный источник сглаживания в 3D-графике) сглажены.
  • Поскольку для каждого пикселя выполняется выборка нескольких субпикселей, полигональные детали размером менее одного пикселя, которые могли быть пропущены без MSAA, могут быть захвачены и включены в окончательное визуализированное изображение, если взято достаточное количество образцов.

Недостатки [ править ]

Альфа-тестирование [ править ]

Альфа-тестирование — это метод, распространенный в старых видеоиграх, который использовался для рендеринга полупрозрачных объектов путем отклонения пикселей от записи в буфер кадра. [4] Если значение альфа полупрозрачного фрагмента (пикселя) ниже указанного порога, он будет отброшен. Поскольку это выполняется попиксельно, изображение не получает преимуществ множественной выборки (все мультивыборки в пикселе отбрасываются на основе альфа-теста) для этих пикселей. Полученное изображение может содержать алиасинг по краям прозрачных объектов или краям внутри текстур, однако качество изображения будет не хуже, чем было бы без всякого сглаживания. [5] Полупрозрачные объекты, смоделированные с использованием текстур альфа-тестирования, также будут иметь псевдонимы из-за альфа-тестирования. Этот эффект можно минимизировать, многократно визуализируя объекты с прозрачными текстурами, хотя это приведет к значительному снижению производительности для сцен, содержащих много прозрачных объектов. [6]

Псевдонимы [ править ]

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

Производительность [ править ]

Хотя MSAA требует меньше производительности, чем SSAA (суперсэмплинг), в определенных сценариях (сцены, насыщенные сложными фрагментами) MSAA может быть в несколько раз более интенсивным для данного кадра, чем методы постобработки сглаживания, такие как FXAA , SMAA и MLAA. . Ранние методы в этой категории имеют тенденцию к снижению производительности, но страдают от проблем с точностью. [7] Более поздние методы сглаживания на основе постобработки, такие как временное сглаживание (TAA), которое уменьшает сглаживание за счет объединения данных из ранее визуализированных кадров, привели к изменению этой тенденции, поскольку постобработка AA становится более универсальной и более удобной. дороже, чем MSAA, который не может сглаживать весь кадр отдельно.

Методы выборки [ править ]

Выборка точек [ править ]

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

Выборка территории [ править ]

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

Примеры выкроек [ править ]

Обычная сетка [ править ]

Шаблон регулярной сетки выборки, в котором местоположения нескольких выборок образуют равномерно расположенную сетку по пикселю, легко реализовать и упрощает оценку атрибутов (т. е. установку субпиксельных масок, цвета и глубины выборки). Этот метод требует больших вычислительных затрат из-за большого количества выборок. Оптимизация краев неудовлетворительна для краев, выровненных по экрану, но качество изображения хорошее, когда количество мультисэмплов велико.

Разреженная регулярная сетка [ править ]

Шаблон выборки с разреженной регулярной сеткой представляет собой подмножество образцов, выбранных из шаблона выборки с регулярной сеткой. Как и в случае с обычной сеткой, оценка атрибутов упрощается благодаря регулярному интервалу. Этот метод менее затратен в вычислительном отношении из-за меньшего количества выборок. Оптимизация краев хороша для выравнивания краев экрана, а качество изображения хорошее для умеренного количества мультисэмплов.

Стохастические образцы моделей [ править ]

Стохастическая выборка представляет собой случайное распределение мультисэмплов по пикселю. Неравномерное расположение образцов усложняет оценку атрибутов. Этот метод экономически эффективен из-за небольшого количества выборок (по сравнению с обычными сетками). Оптимизация краев с помощью этого метода, хотя и неоптимальна для краев, выровненных по экрану. Качество изображения превосходное для умеренного количества образцов.

Качество [ править ]

По сравнению с суперсэмплированием, мультисэмпловое сглаживание может обеспечить аналогичное качество при более высокой производительности или лучшее качество при той же производительности. Дальнейших улучшенных результатов можно достичь, используя субпиксельные маски с повернутой сеткой. Дополнительная полоса пропускания, необходимая для множественной выборки, достаточно мала, если доступны Z и сжатие цвета. [8]

Большинство современных графических процессоров поддерживают образцы MSAA 2×, 4× и 8×. Более высокие значения приводят к лучшему качеству, но медленнее.

См. также [ править ]

Ссылки [ править ]

  1. ^ «Дополнения к главе 3 спецификации 1.2.1» .
  2. ^ «Спецификация OpenGL 1.5» (PDF) .
  3. ^ «Значение сглаживания: для чего оно используется?» . ОРВИ ВР. 14 сентября 2018 г. Проверено 14 сентября 2018 г.
  4. ^ «Синтаксис ShaderLab: альфа-тестирование» . Unity3d.com. 27 апреля 2008 г. Проверено 31 июля 2012 г.
  5. ^ «Мультисемпловое сглаживание: вид крупным планом» . Alt.3dcenter.org . Проверено 31 июля 2012 г.
  6. ^ «Визуальное сравнение различных режимов сглаживания» . Nhancer.com. Архивировано из оригинала 28 января 2013 г.
  7. ^ Мэтт Петтинео (25 октября 2012 г.). «Краткий обзор MSAA» . Проверено 24 ноября 2016 г.
  8. ^ «Мультисемпловое сглаживание: вид крупным планом» . Alt.3dcenter.org . Проверено 31 июля 2012 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: f07b9344e8c16348676adf0e7e318ed4__1667721600
URL1:https://arc.ask3.ru/arc/aa/f0/d4/f07b9344e8c16348676adf0e7e318ed4.html
Заголовок, (Title) документа по адресу, URL1:
Multisample anti-aliasing - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)