Что лучше билинейная или трилинейная или анизотропная

Варианты точечной, билинейной, трилинейной и анизотропной фильтрации текстур

Переопределяет режим фильтрации для соответствующих дискретизаторов текстур.

Интерпретация

Различные способы дискретизации текстур по-разному сказываются на производительности и качестве изображения. Ниже перечислены режимы фильтрации в порядке возрастания влияния на производительность и качества изображения:

точечная фильтрация (наименьшие затраты и качество изображения);

анизотропная фильтрация (наибольшие затраты и наивысшее качество изображения).

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

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

Примечания

Ограничения

В Direct3D на функциональном уровне 9.1 максимальная анизотропия равна 2x. Так как вариант Анизотропная фильтрация текстур пытается использовать исключительно 16-кратную анизотропию, воспроизведение завершается сбоем при запуске анализа кадров на устройстве с функциональным уровнем 9.1. К современным устройствам, на которые распространяется это ограничение, относятся планшеты Surface RT и Surface 2 с ОС Windows на основе архитектуры ARM. Ограничение также может распространяться на более старые GPU, которые, однако, выходят из употребления и встречаются все реже.

Пример 1

Вариант Точечная фильтрация текстур можно воспроизвести с помощью следующего кода:

Пример 2

Вариант Билинейная фильтрация текстур можно воспроизвести с помощью следующего кода:

Пример 3

Вариант Трилинейная фильтрация текстур можно воспроизвести с помощью следующего кода:

Пример 4

Вариант Анизотропная фильтрация текстур можно воспроизвести с помощью следующего кода:

Источник

Анизотропная, билинейная и трилинейная фильтрация

Анизотро́пная фильтра́ция (англ. Anisotropic Filtering, AF) — в трёхмерной графике метод улучшения качества изображения текстур на поверхностях, сильно наклонённых относительно камеры. Как билинейная и трилинейная фильтрация, анизотропная фильтрация позволяет устранять алиасинг на различных поверхностях, но при этом вносит меньше размытия и поэтому позволяет сохранить бо́льшую детальность изображения. Анизотропная фильтрация требует относительно сложного вычисления, и поэтому только около 2004 года она стала «бесплатной» (не снижающей общей кадровой частоты, либо снижающей её незначительно) в графических платах потребительского уровня.

Выбирается MIP-текстура, соответствующая разрешению поперёк направления обзора. Берут несколько текселей вдоль направления обзора (в фильтрации 2x — до двух, в 4x — до четырёх, и т. д.) и усредняют их цвета.

Так как пикселей на экране может быть 1 миллион и даже больше, а каждый тексель — это не менее 32 бит, анизотропная фильтрация требует огромной пропускной способности видеопамяти (десятки гигабайт в секунду). Столь большие требования к памяти уменьшают за счёт сжатия текстур и кэширования.

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

Трилинейная фильтрация — усовершенствованный вариант билинейной фильтрации.

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

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

С недостаточной резкостью борются, устанавливая отрицательный mip bias — то есть, текстуры берутся более детальные, чем нужно было бы без трилинейной фильтрации.

60. UV-преобразования, сферическое и кубическое текстурирование

UV-преобразование или развёртка в трёхмерной графике (англ. UV map) — соответствие между координатами на поверхности трёхмерного объекта (X, Y, Z) и координатами на текстуре (U, V). Значения U и V обычно изменяются от 0 до 1. Развёртка может строиться как вручную, так и автоматически.

Современное трёхмерное аппаратное обеспечение считает, что UV-преобразование в пределах одного треугольника является аффинным — поэтому достаточно задать U и V для каждой вершины каждого из треугольников. Впрочем, как именно стыковать треугольники друг с другом, выбирает 3D-моделер, и умение строить удачную развёртку — один из показателей его класса. Существует несколько противоречащих друг другу показателей качества развёртки:

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

Отсутствие областей с недостаточной или избыточной детализацией текстуры.

Отсутствие областей с излишними геометрическими искажениями.

Сходство со стандартными ракурсами, с которых обычно рисуется или фотографируется объект — упрощает работухудожника по текстурам.

Удачно расположенные «швы» — линии, соответствующие одному ребру, но расположенные в разных местах текстуры. Швы желательны, если есть естественный «разрыв» поверхности (швы одежды, кромки, сочленения и т. д.), и нежелательны, если таковых нет. В моделировании персонажей Dota 2 участвовали любители со всего мира, и руководство по моделированиютребовало, чтобы глаза были отдельным «островком» развёртки.

Для частично симметричных объектов: удачное сочетание симметричных и асимметричных участков развёртки. Симметрия повышает детализацию текстуры и упрощает работу художника по текстурам; асимметричные детали «оживляют» объект.

Кубическое текстурирование, кубическая карта (англ. Cube mapping, CubeMap) — методика в трёхмерной компьютерной графике, предназначеная преимущественно для моделирования отражений на поверхности объекта. Суть методики в использвании кубической карты для отображения трёхмерной координаты текстурыв тексель при построении изображений отраженния окружения в поверхности объекта. Кубическая карта представляет собой развёртку шести граней куба, каждая грань которого содержит текстуру. Каждая текстура отображает вид окружения, которое видно из одной точки зрения в шести направлениях. Текстурная координата является вектором, который определяет, как смотреть из центра куба, чтобы получить желаемый тексель.

Cube mapping, как правило, более предпочтительный устаревшей методике Sphere mapping (англ.), так как является более простым для динамической генерации в симуляциях реального времени и имеет меньшее искажение.

ВНИМАНИЕ!
ПЕРЕВОД ГУГЛА!

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

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

1. Определение и основные виды компьютерной графики. 1

2. Основные области применения компьютерной графики. 1

3. Фрактальная графика. 1

4. Двухмерная и трёхмерная компьютерная графика. 1

5. Дополнительные виды компьютерной графики (пиксельная, ASCII, псевдографика) 1

6. Определение и основные понятия растровой графики. 2

7. Разрешение растрового изображения. 2

8. Разрешение цифрового видео, развёртка и соотношение сторон кадра. 2

9. Глубина цвета в растровой графике. 2

10. Представление цветов в компьютерной графике, цветовая модель. 3

32. Преобразования кривых Бернштейна-Безье. 12

33. Аффинное преобразование и его матричное представление. 13

34. Виды аффинных преобразований. 13

36. Способы описания векторного изображения, редактор векторной графики. 13

37. Технологии описания статичной векторной графики (PostScript, VML, PGML) 14

38. Технологии описания динамической векторной графики (SVG, Flash и др.) 14

39. Определение и основные понятия трехмерной векторной графики. 15

11. 40. Параметрическое задание поверхности. 15

41. Кривые поверхности. 15

42. Основные методы 3D моделирования. 16

43. Полигональная сетка, их виды.. 16

44. Файловые форматы полигональных сеток. 16

45. Основные методы и ПО рендеринга. 16

46. Уравнение рендеринга. 17

47. Растеризация, построение проекций. 18

48. Матрица преобразований камеры 3D сцены.. 18

49. Модель и методы освещения в 3D графике. 18

50. Рейкастинг и трассировка лучей. 18

51. Рендеринг в реальном времени. 19

52. Объёмный рендеринг, вокселы. 20

53. Процессы и стадии графического конвейера. 22

54. Низкоуровневые графические API. 25

55. Шейдеры, шейдерные языки. 25

Шейдерные языки. 26

Профессиональный рендеринг. 26

Рендеринг в реальном времени. 27

56. Типы шейдеров. 28

57. Определение, основные понятия и методы текстурирования. 29

58. Рельефное текстурирование. 32

59. Анизотропная, билинейная и трилинейная фильтрация. 34

60. UV-преобразования, сферическое и кубическое текстурирование. 35

Источник

Что лучше билинейная или трилинейная или анизотропная

Что лучше билинейная или трилинейная или анизотропная

Что лучше билинейная или трилинейная или анизотропная

Что лучше билинейная или трилинейная или анизотропная

Что лучше билинейная или трилинейная или анизотропная

трилинейная, само собой. А анизотропная еще более требовательна. Правда это актуально для видеокарт 10-летней давности.

Думаю для «ведёрок» на Селеронах и ноутбуков на Атоме это до сих пор актуально))

А так Билинейная ==> Трилинейная ==> Анизотропная (от старой к новой)

Что лучше билинейная или трилинейная или анизотропная

Думаю для «ведёрок» на Селеронах и ноутбуков на Атоме это до сих пор актуально))

Что лучше билинейная или трилинейная или анизотропная

Думаю для «ведёрок» на Селеронах и ноутбуков на Атоме это до сих пор актуально))

Фильтрацией текстур занимается видеокарта, а не процессор.

Что лучше билинейная или трилинейная или анизотропная

к тому же перед обработкой (вернее ПОДГОТОВКОЙ) картинки видеокартой этим занимается процессор. Так что по сути он тоже Частично, но всё ж занимается.

Источник

Билинейная или трилинейная фильтрация текстур лучше?

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

Что лучше билинейная или трилинейная или анизотропная

Алгоритмы отображения 3D объектов

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

Например, у дома это будет рисунок кирпичной кладки с несколькими окнами, а у танка ֫ — рисунок брони с заклепками, побитой ржавчиной.

Элементарная минимальная частица текстуры называется текселем. Его размер зависит от разрешения и качества прорисовки. Из таких разноцветных текселей составлены все предметы в виртуальных мирах.

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

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

Билинейная фильтрация

Из исходной текстуры извлекается несколько пикселей, их значения усредняются и результат выводится на пиксель монитора. Технология применима только к двухмерным текстурам.

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

Трилинейная фильтрация

Более продвинутый вариант. Цвет пикселя высчитывается как среднее арифметическое 8 текселей, попадающих в зону обзора, а точнее по 4 на 2 соседних текстуры. Для предотвращения малой резкости изображения используют своеобразный «костыль» — берут картинки с более детальным разрешением, чем они нужны без этой технологии.

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

Также для вас может быть полезно почитать «Что такое анизотропная фильтрация». Буду признателен всем, кто расшарит этот пост в социальных сетях. До завтра!

Источник

В компьютерная графика, Фильтрация текстур или же сглаживание текстуры метод, используемый для определения цвета текстуры для наложена текстура пиксель, используя цвета соседних тексели (пиксели текстуры). Есть две основные категории фильтрации текстур, фильтрация увеличения и фильтрация минификации. [1] В зависимости от ситуации фильтрация текстур может быть одним из видов фильтр реконструкции где редко данные интерполируется для заполнения пробелов (увеличения) или типа сглаживание (AA), где образцы текстуры существуют с более высокой частотой, чем требуется для частоты дискретизации, необходимой для заполнения текстуры (минификации). Проще говоря, фильтрация описывает, как текстура применяется во многих различных формах, размерах, углах и масштабах. В зависимости от выбранного алгоритма фильтра результат будет показывать разную степень размытости, детализации, пространственного, временного и блокирующего искажений. В зависимости от обстоятельств фильтрация может выполняться программно (например, пакет программного рендеринга) или аппаратно в реальном времени или GPU ускоренный рендеринг или их сочетание. Для наиболее распространенных интерактивных графических приложений современная фильтрация текстур выполняется с помощью специализированное оборудование который оптимизирует доступ к памяти через кеширование памяти и предварительная выборка и реализует набор алгоритмов, доступных пользователю и разработчику.

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

Содержание

Необходимость фильтрации

В процессе наложения текстуры для любой произвольной 3D-поверхности поиск текстуры происходит, чтобы выяснить, где на текстуре попадает центр каждого пикселя. Для многоугольных поверхностей с наложенной текстурой, состоящих из треугольников, типичных для большинства поверхностей в 3D-играх и фильмах, каждый пиксель (или образец подчиненного пикселя) этой поверхности будет ассоциироваться с некоторым треугольником (ами) и набором барицентрические координаты, которые используются для определения позиции в текстуре. Такое положение может не идеально ложиться на «пиксельную сетку», что требует некоторой функции для учета этих случаев. Другими словами, поскольку текстурированная поверхность может находиться на произвольном расстоянии и произвольной ориентации относительно наблюдателя, один пиксель обычно не соответствует непосредственно одному текселю. Чтобы определить лучший цвет для пикселя, необходимо применить какую-либо форму фильтрации. Недостаточная или неправильная фильтрация будет отображаться на изображении как артефакты (ошибки в изображении), например, «блочность», неровности, или мерцающий.

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

Mipmapping

Методы фильтрации

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

Интерполяция ближайшего соседа

Ближайший сосед с mipmapping

Линейная фильтрация MIP-карт

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

Билинейная фильтрация

Билинейная фильтрация это следующий шаг вперед. В этом методе отбираются четыре ближайших текселя к центру пикселя (на ближайшем уровне MIP-карты), а их цвета объединяются средневзвешенное в зависимости от расстояния. [6] Это устраняет «блочность», наблюдаемую при увеличении, так как теперь имеется плавный градиент изменения цвета от одного текселя к другому вместо резкого скачка, когда центр пикселя пересекает границу текселя. [7] Билинейная фильтрация для фильтрации по увеличению является обычным явлением. При использовании для минификации он часто используется с mipmapping; хотя его можно использовать и без него, при слишком большом уменьшении он будет иметь те же проблемы сглаживания и мерцания, что и фильтрация ближайшего соседа. Однако для умеренных коэффициентов минификации его можно использовать в качестве недорогого аппаратного ускоренного взвешенного суперсэмпла текстур.

Трилинейная фильтрация

Трилинейная фильтрация является средством от распространенного артефакта, наблюдаемого в изображениях с билинейной фильтрацией mipmapped: резкое и очень заметное изменение качества на границах, где средство визуализации переключается с одного уровня mipmap на другой. Трилинейная фильтрация решает эту проблему, выполняя поиск текстуры и билинейную фильтрацию на два ближайшие уровни MIP-карты (один более высокого качества и один более низкого качества), а затем линейно интерполирующий результаты, достижения. [8] Это приводит к плавному ухудшению качества текстуры по мере увеличения расстояния от зрителя, а не к серии резких падений. Конечно, ближе к уровню 0 доступен только один уровень MIP-карты, и алгоритм возвращается к билинейной фильтрации.

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

Анизотропная фильтрация это самая качественная фильтрация, доступная в текущем потребительском 3D видеокарты. В более простых, «изотропных» методах используются только квадратные MIP-карты, которые затем интерполируются с использованием би- или трилинейной фильтрации. (Изотропный означает то же самое во всех направлениях и, следовательно, используется для описания системы, в которой все карты представляют собой квадраты, а не прямоугольники или другие четырехугольники.)

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

Процент более близкой фильтрации

На основе глубины Отображение теней может использовать интересный процентный более близкий фильтр (PCF) с текстурами с отображением глубины, который расширяет представление о типах текстурных фильтров, которые могут быть применены. В ФКП а карта глубины сцены рендерится из источника света. Во время последующего рендеринга сцены эта карта глубины затем проецируется обратно в сцену из положения источника света, и выполняется сравнение между координатой проекционной глубины и полученной глубиной выборки текстуры. Проективная координата будет глубиной в пикселях сцены от источника света, но полученная глубина из карты глубины будет представлять глубину сцены вдоль этого проецируемого направления. Таким образом, для визуализированного пикселя может быть выполнено определение видимости света и, следовательно, освещения этим светом. Таким образом, эта операция текстурирования является логическим тестом того, горит ли пиксель, однако для данного пикселя можно протестировать несколько выборок, а логические результаты суммировать и усреднить. Таким образом, в сочетании с различными параметрами, такими как местоположение текселя выборки и даже местоположение проекции карты глубины с дрожанием, для пикселя может быть вычислено среднее значение после сравнения глубины или процент близких и, следовательно, освещенных образцов. Важно отметить, что суммирование логических результатов и генерация процентного значения должны выполняться после сравнения глубины проективной глубины и выборки выборки, поэтому это сравнение глубины становится неотъемлемой частью фильтра текстуры. Затем этот процент можно использовать для взвешивания расчета освещенности и обеспечения не только логического значения освещенности или тени, но и результата полутени мягкой тени. [11] [12] Версия этого поддерживается в современном оборудовании, где выполняется сравнение и применяется билинейный фильтр после логического сравнения по расстоянию. [13]

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *