Анизотропная фильтрация

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

В компьютерной 3D-графике, анизотропная фильтрация (сокращенно AF ) является метод повышения качества изображения текстур на поверхностях компьютерной графики, которые имеют наклонные углы обзора по отношению к камере, где проекция текстуры (не многоугольник или другое примитив, на котором он отображается) оказывается не- ортогональным (отсюда происхождение слова: «an» для не, «iso» для того же и «tropic» из тропизм, относящийся к направлению; анизотропная фильтрация не фильтрует одинаково во всех направлениях).

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

Анизотропная фильтрация является относительно интенсивной (в первую очередь пропускная способность памяти и в некоторой степени вычислительно, хотя применяются стандартные правила компромисса между пространством и временем ) и стала стандартной функцией потребительских видеокарт только в конце 1990-х годов. Анизотропная фильтрация теперь обычна в современном графическом оборудовании (и программном обеспечении видеодрайвера) и включается либо пользователями через настройки драйвера, либо графическими приложениями и видеоиграми через программные интерфейсы.

Содержание
  • 1 Улучшение изотропного отображения MIP
  • 2 Поддерживаемая степень анизотропии
  • 3 Реализация
  • 4 Производительность и оптимизация
  • 5 См. Также
  • 6 Ссылки
  • 7 Внешние ссылки
Улучшение изотропного отображения MIP
Пример хранения анизотропного изображения MIP-карты: основное изображение в верхнем левом углу сопровождается отфильтрованными, линейно преобразованными копиями уменьшенного размера. (щелкните, чтобы сравнить с предыдущими изотропными MIP-картами того же изображения)

С этого момента предполагается, что читатель знаком с MIP-сопоставлением.

Если бы мы исследовали более приблизительный анизотропный алгоритм, RIP mapping, как расширение от MIP mapping, мы можем понять, как анизотропная фильтрация обеспечивает такое высокое качество отображения текстуры. Если нам нужно текстурировать горизонтальную плоскость, которая находится под косым углом к ​​камере, традиционная минификация карты MIP даст нам недостаточное разрешение по горизонтали из-за уменьшения частоты изображения по вертикальной оси. Это связано с тем, что при отображении MIP каждый уровень MIP изотропен, поэтому текстура 256 × 256 уменьшается до изображения 128 × 128, затем изображения 64 × 64 и т. Д., Поэтому разрешение уменьшается вдвое по каждой оси одновременно, поэтому текстура карты MIP Зонд к изображению всегда будет отбирать изображение с одинаковой частотой по каждой оси. Таким образом, при дискретизации, чтобы избежать наложения спектров на высокочастотной оси, другие оси текстуры будут аналогично субдискретизированы и, следовательно, потенциально размыты.

При анизотропной фильтрации карты MIP, в дополнение к понижающей дискретизации до 128 × 128, изображения также дискретизируются до 256 × 128 и 32 × 128 и т. Д. Эти анизотропно субдискретизированные изображения можно исследовать, когда частота изображения с отображением текстуры равна разные для каждой оси текстуры. Следовательно, одна ось не должна размываться из-за экранной частоты другой оси, и наложения спектров все же можно избежать. В отличие от более общей анизотропной фильтрации, отображение MIP, описанное для иллюстрации, ограничено только поддержкой анизотропных зондов, выровненных по оси в пространстве текстуры, поэтому диагональная анизотропия все еще представляет проблему, даже несмотря на то, что в реальных случаях анизотропия текстуры обычно имеют такие отображения экранного пространства.

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

С точки зрения непрофессионала, анизотропная фильтрация сохраняет «резкость» текстуры, которая обычно теряется из-за попыток текстуры карты MIP избежать наложения спектров. Таким образом, можно сказать, что анизотропная фильтрация поддерживает четкие детали текстуры при всех ориентациях просмотра, обеспечивая быстрое сглаживание текстурной фильтрации.

Поддерживаемая степень анизотропии

Различные степени или соотношения анизотропной фильтрации могут применяться во время рендеринг и текущие реализации аппаратного рендеринга устанавливают верхнюю границу этого отношения. Эта степень относится к максимальному коэффициенту анизотропии, поддерживаемому процессом фильтрации. Например, анизотропная фильтрация 4: 1 (произносится как «4-к-1») будет продолжать повышать резкость более наклонных текстур за пределами диапазона, увеличенного до 2: 1.

На практике это означает, что в сильно наклонном В ситуациях текстурирования фильтр 4: 1 будет в два раза резче, чем фильтр 2: 1 (он будет отображать частоты вдвое больше, чем фильтр 2: 1). Однако для большей части сцены фильтр 4: 1 не требуется; только более наклонные и обычно более удаленные пиксели потребуют более резкой фильтрации. Это означает, что по мере того, как степень анизотропной фильтрации продолжает увеличиваться вдвое, уменьшается отдача с точки зрения видимого качества с уменьшением количества обработанных пикселей, и результаты становятся менее очевидными для зрителя.

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

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

Реализация

Истинная анизотропная фильтрация исследует текстуру анизотропно на лету на попиксельной основе для любой ориентации анизотропии.

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

Каждый зонд анизотропной фильтрации часто сам по себе представляет собой отфильтрованный образец карты MIP, который добавляет больше выборок в процесс. Для шестнадцати трилинейных анизотропных выборок может потребоваться 128 выборок из сохраненной текстуры, так как для фильтрации трехлинейной карты MIP необходимо четыре выборки, умноженные на два уровня MIP, а затем для анизотропной выборки (при 16-кратной выборке) необходимо взять шестнадцать из этих трилинейных фильтрованных зондов.

Однако этот уровень сложности фильтрации требуется не всегда. Существуют общедоступные методы уменьшения объема работы, которую должно выполнять оборудование для рендеринга видео.

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

Производительность и оптимизация

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

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

К счастью, несколько факторов смягчают в пользу лучшей производительности:

  • Сами зонды разделяют кэшируются образцов текстуры, как межпиксельных, так и внутрипиксельных.
  • Даже при анизотропной фильтрации с 16 отводами не всегда требуются все 16 отводов, потому что только удаленные сильно наклонные пиксельные заливки имеют тенденцию быть сильно анизотропными.
  • Сильно анизотропная заливка пикселей имеет тенденцию покрывать небольшие области экрана (т.е. обычно менее 10%)
  • Фильтры увеличения текстуры (как правило) не требуют анизотропной фильтрации.
См. также
Ссылки
Внешние ссылки
Последняя правка сделана 2021-06-11 15:50:31
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте