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

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

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

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

Улучшение изотропного отображения MIP [ править ]

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

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

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

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

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

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

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

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

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

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

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

Реализация [ править ]

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

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

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

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

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

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

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

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

К счастью, несколько факторов способствуют повышению производительности:

  • Сами зонды совместно используют кэшированные образцы текстуры, как межпиксельные, так и внутрипиксельные. [15]
  • Даже при анизотропной фильтрации с 16 отводами не всегда нужны все 16 отводов, потому что только удаленные сильно наклонные пиксельные заливки имеют тенденцию быть сильно анизотропными. [8]
  • Сильно анизотропная заливка пикселей имеет тенденцию покрывать небольшие области экрана (то есть обычно менее 10%) [8]
  • Фильтры увеличения текстуры (как правило) не требуют анизотропной фильтрации.

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

  • Фильтр сглаживания
  • Цифровой артефакт

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

  1. ^ «Что такое анизотропная фильтрация? - Technipages» .
  2. ^ «Реализация анизотропного текстурного фильтра - ScienceDirect» .
  3. ^ Блинн, Джеймс Ф .; Ньюэлл, Мартин Э. (октябрь 1976 г.). «Графика и обработка изображений: текстура и отражение в компьютерных изображениях» (PDF) . Коммуникации ACM . 19 (10): 542–547. DOI : 10.1145 / 360349.360353 . Проверено 20 октября 2017 .
  4. ^ Хекберт, Пол С. (ноябрь 1986). «Обзор текстурных карт» (PDF) . Компьютерная графика и приложения IEEE : 56–67 . Проверено 20 октября 2017 .
  5. ^ «Технический документ Radeon» (PDF) . ATI Technologies Inc. 2000. стр. 23 . Проверено 20 октября 2017 .
  6. ^ «Глава 5: Текстурирование» (PDF) . CS559, осень 2003 года . Университет Висконсин – Мэдисон . 2003 . Проверено 20 октября 2017 .
  7. ^ «Анизотропная фильтрация» . Корпорация Nvidia . Проверено 20 октября 2017 .
  8. ^ a b c "Сглаживание текстуры" . Видеокарта ATI Radeon 9700 Pro . Технический отчет . Проверено 20 октября 2017 .
  9. ^ Олано, Марк; Мукерджи, Шриджит; Дорби, Ангус (2001). Анизотропное текстурирование на основе вершин (PDF) . Материалы семинара ACM SIGGRAPH / EUROGRAPHICS по графическому оборудованию . С. 95–98. CiteSeerX 10.1.1.1.6886 . DOI : 10.1145 / 383507.383532 . ISBN   978-1581134070. Архивировано из оригинального (PDF) 14 февраля 2017 года . Проверено 20 октября 2017 .
  10. Перейти ↑ Crow, Franklin C. (июль 1984). «Таблицы суммированных площадей для отображения текстуры» (PDF) . SIGGRAPH'84: Компьютерная графика . 18 (3) . Проверено 20 октября 2017 .
  11. ^ Шиллинг, А .; Knittel, G .; Штрассер, В. (май 1996 г.). «Texram: умная память для текстурирования». Компьютерная графика и приложения IEEE . 16 (3): 32–41. DOI : 10.1109 / 38.491183 .
  12. ^ Чен, Баоцюань; Дачилль, Франк; Кауфман, Арье (март 2004 г.). «Образец текстурирования области следа» (PDF) . IEEE Transactions по визуализации и компьютерной графике . 10 (2): 230–240. DOI : 10.1109 / TVCG.2004.1260775 . Проверено 20 октября 2017 .
  13. ^ Ленч, Хендрик (2007). «Компьютерная графика: теория фильтрации текстур и выборки» (PDF) . Институт информатики Макса Планка . Проверено 20 октября 2017 .
  14. ^ Мэй, Синьсинь; Чу, Сяовэнь (2015-09-08). «Анализ иерархии памяти GPU с помощью микробенчмаркинга». arXiv : 1509.02308 [ cs.AR ].Проверено 20 октября 2017 г.
  15. ^ Игехи, Хоман; Элдридж, Мэтью; Праудфут, Кекоа (1998). «Предварительная выборка в архитектуре кэша текстур» . Eurographics / SIGGRAPH Семинар по графическому оборудованию . Стэнфордский университет . Проверено 20 октября 2017 .

Внешние ссылки [ править ]

  • Голая правда об анизотропной фильтрации (2002-09-26)