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

Настройки «глобальных параметров» драйвера для видеокарт NVidia

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

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

Бессмысленный параметр, включение которого дает возможность при случае ошибки драйвера отправлять все данные о ошибке и конфигурацию ПК разработчикам NVidia.
(Один из бессмысленных параметров, выключение которого позволит сделать безлимитный доступ драйверу к коду приложения при обработке графики, естественно, все ограничения снимаем значением Off (Выкл))

Проще говоря, если выставлен режим Multi display performance mode (Режим многодисплейной производительности), то графический процессор (ГП) вашей видеокарты отрисовывает изображение для обоих портов видеокарты. А если выставлен режим Single display performance mode (Режим однодисплейной производительности), то сигнал будет идти только на один из портов.
Так что, если у вас одна видеокарта и один монитор, то ставьте в обязательном порядке Single display performance mode (Режим однодисплейной производительности).
Заметьте, что когда вы установили новые драйвера на видеокарту, по умолчанию стоит режим Multi display performance mode (Режим многодисплейной производительности) это означает, что, будь у вас два монитора, то, подключив его к второму видеовыходу, на него тоже бы шел рендеринг изображения. Теряется производительность где то на 5-15%. В общем режим Single display performance mode (Режим однодисплейной производительности) повышает производительность за счет рендеринга на один видеовыход). Увеличивает производительности в 3д приложениях.

Фильтрация текстур с использованием негатива с масштабируемым уровнем детализации, выставляем значение Clamp (Привязка), что позволит оптимизировать текстурные процедуры путем привязки. Это позволит получить дополнительные 2-3 ФПС в производительности рендеринга, без потери качества. Увеличивает производительности в 3д приложениях.

Фильтрация текстур, позволяет улучшить качество картинки, четкость изображения без понижения производительности в рендеринге, соответственно ставим значение Hight quality (Высокое качество). На производительность практически не влияет.

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

Вертикальная синхронизация кадров, через вертикальный синхроимпульс синхронизируется количество кадров в секунду с частотой обновления вашего монитора, тем самым убирая некий эффект «разрыва картинки» (на экране это будет выглядеть, например, при резком повороте камеры, будто верхняя часть экрана чуть уехала в сторону, по отношению к нижней), при быстрой смене кадров. При этом, зачастую сильно падает FPS (кол-во кадров в секунду), оно не столь значительно падает, только если у вас монитор обновляется с частотой выше 100-120 Гц в секунду, но даже при такой частоте все равно FPS снижается на 10-15%. Ставим значение Off (Выкл), тем самым отключая ненужную вертикальную синхронизацию. На производительность влияет негативно.

Источник

Трилинейная фильтрация: техника улучшения качества изображений

В данной статье объясняется, почему на определенном уровне визуализации появляются ошибки или артефакты, вызванные процессом наложения текстур на трехмерные объекты, а так же представляются концепции использования текстур с различными уровнями детализации (mip-mapping) и с применением трилинейной фильтрации (trilinear filtering), как панацеи от возникновения ошибок (артефактов) при визуализации. В статье также кратко рассказывается о существующем положении вещей в индустрии компьютерной графики с точки зрения поддержки мип-маппинга и трилинейной фильтрации, а так же оцениваются некоторые предлагаемые альтернативные решения.

Введение

Применяемая повсеместно в индустрии 3D графики, технология наложения текстур, используется для визуализации трехмерных сцен с высокой степенью детализации и имеет относительно невысокую стоимость для конечного пользователя. Технология заключается в проецировании изображения на трехмерную поверхность, таким образом, обеспечивается дополнительная детализация 3D объекта без усложнения его геометрии. Впрочем, когда изображение используется в качестве текстуры, накладываемой на 3D примитив, проявляется множество разнообразных ошибок визуализации, называемых артефактами. На протяжении нескольких лет было разработано множество различных технологий, которые уменьшают количество подобных артефактов визуализации, а самая распространенная из используемых сегодня технологий — это билинейная фильтрация (bilinear filtering).

Билинейная фильтрация это техника устранения искажений изображения (фильтрация), таких, как «блочности» текстур при их увеличении. При медленном вращении или движении объекта (приближение/удаление) могут быть заметны «перескакивания» пикселов с одного места на другое, т.е. появляется блочность. Во избежании этого эффекта применяют билинейную фильтрацию, при использовании которой для определения цвета каждого пикселя берется взвешенное среднее значение цвета четырех смежных текселей и в результате определяется цвет накладываемой текстуры. Результирующий цвет пикселя определяется после осуществления трех операций смешивания: сначала смешиваются цвета двух пар текселей, а потом смешиваются два полученных цвета.

Впрочем, существует целый класс артефактов визуализации, появляющихся в результате наложения текстур и известный под названием «depth aliasing» (депт-алиасинг, ошибки определения глубины сцены, другое название Z-aliasing), от которых билинейная фильтрация не избавляет и не может избавить.

Треугольник формируется путем наложения текстурного изображения на трехмерную поверхность.

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

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

Фильтрация текстур трилинейная оптимизация что ставить. Смотреть фото Фильтрация текстур трилинейная оптимизация что ставить. Смотреть картинку Фильтрация текстур трилинейная оптимизация что ставить. Картинка про Фильтрация текстур трилинейная оптимизация что ставить. Фото Фильтрация текстур трилинейная оптимизация что ставитьФильтрация текстур трилинейная оптимизация что ставить. Смотреть фото Фильтрация текстур трилинейная оптимизация что ставить. Смотреть картинку Фильтрация текстур трилинейная оптимизация что ставить. Картинка про Фильтрация текстур трилинейная оптимизация что ставить. Фото Фильтрация текстур трилинейная оптимизация что ставить

Рис. 2A (Левый сверху): Прямоугольник состоит из двух треугольников, текстурированных изображением шахматной доски. Обратите внимание на то, как ширина и высота каждого квадрата уменьшается при движении от ближайшей стороны прямоугольника, которая ближе к точке наблюдения, до дальней стороны прямоугольника.

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

Mip-mapping и вычисления степени детализации

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

Mip-текстура (mip-map) состоит из набора заранее отфильтрованных и масштабированных изображений. В изображении, связанном с уровнем mip-map, пиксель представляется в виде среднего четырех пикселей из предыдущего уровня с более высоким разрешением. Отсюда, изображение связанное с каждым уровнем mip-текстуры в четыре раза меньше по размеру предыдущего mip-map уровня.

Изображения, связанные с каждым mip-map уровнем волнообразной текстуры показаны ниже.

Степень или уровень детализации — Level of Detail или просто LOD, используются для определения, какой mip-map уровень (или какую степень детализации) следует выбрать для наложения текстуры на объект. LOD должен соответствовать числу текселей накладываемых на пиксель (т.е. какое количество элементов текстуры должно быть наложено на элемент выводимого на экран изображения). Например, если текстурирование происходит с соотношением близким к 1:1, то LOD будет 0, а значит и будет использоваться mip-map уровень с самым высоким разрешением. Если 4 текселя накладываются на один пиксель, то LOD будет 1 и будет использоваться следующий mip уровень с меньшим разрешением. Обычно, при удалении от точки наблюдения, объект, заслуживающий наибольшего внимания имеет более высокое значение LOD.

Ниже представлен прямоугольник, использовавшийся в первом примере, только теперь наложение текстур произведено с использованием техники mip-mapping. Обратите внимание, что ошибки визуализации «depth aliasing» исчезли и на расстоянии стороны прямоугольника выглядят размытыми, как и должно быть.

Фильтрация текстур трилинейная оптимизация что ставить. Смотреть фото Фильтрация текстур трилинейная оптимизация что ставить. Смотреть картинку Фильтрация текстур трилинейная оптимизация что ставить. Картинка про Фильтрация текстур трилинейная оптимизация что ставить. Фото Фильтрация текстур трилинейная оптимизация что ставитьФильтрация текстур трилинейная оптимизация что ставить. Смотреть фото Фильтрация текстур трилинейная оптимизация что ставить. Смотреть картинку Фильтрация текстур трилинейная оптимизация что ставить. Картинка про Фильтрация текстур трилинейная оптимизация что ставить. Фото Фильтрация текстур трилинейная оптимизация что ставить

Рис. 4A (Левый сверху): Прямоугольник из первого примера. Обратите внимание отсутствие ошибок «depth aliasing».

Рис. 4B (Правый сверху): При увеличении удаленной части прямоугольника, хорошо заметна размытость.

Если для каждого пикселя в треугольнике вычисляется значение LOD для определения того, какая mip-текстура имеет нужный уровень фильтрации, то в результате предотвращается появление ошибок визуализации и излишней размытости. LOD должен вычисляться для каждого пикселя в треугольнике с целью избежания разрывов по краям треугольников. Этот метод называется per-pixel mip-mapping (попиксельное mip-текстурирование).

Если же LOD вычисляется всего лишь раз для всего треугольника, то следствием использование этого значения для всех пикселей треугольника становится появление странного эффекта растрескивания, когда некоторые треугольники, из которых состоит анимированный объект, вдруг внезапно становятся чрезмерно размытыми или с неровностями. Этот дешевый, менее эффективный метод mip-текстурирования известен как «per-polygon mip-mapping» (т.е. mip-текстурирование по каждому полигону).

Проблемы Mip-текстурирования

В то время, как mip-текстурирование решает проблему ошибок «depth-aliasing», его использование может стать причиной появления других артефактов. Для борьбы с этими артефактами используются различные техники фильтрации. При удалении объекта все дальше от точки наблюдения, происходит переход от низкого mip-map уровня (соответствующего изображению с высокой детализацией) к высокому mip-map уровню (соответствующего изображению с высокой степенью фильтрации и низкой детализацией). В момент нахождения объекта в переходном состоянии от одного mip-map уровня к другому, появляется особый тип ошибок визуализации, известных под названием «mip-banding» (мип-бендинг) — полосатость или слоеность, т.е. явно различимые границы перехода от одного mip-map уровня к другому.

«Mip-banding» имеет место, когда значение LOD округляется до целого и только один соответствующий уровень mip-текстуры используется для генерации пикселя. После перехода LOD к более высокому уровню состоящему из треугольников, соседние пиксели будут генериться с различными mip уровнями и будут иметь совершенно различное количество примененных к ним фильтров. Результатом является появление линии или нескольких линий проходящих через треугольник в местах, где происходит внезапный переход между mip уровнями. Это один из недостатков использования только билинейного или по-точечного mip-текстурирования.

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

Фильтрация текстур трилинейная оптимизация что ставить. Смотреть фото Фильтрация текстур трилинейная оптимизация что ставить. Смотреть картинку Фильтрация текстур трилинейная оптимизация что ставить. Картинка про Фильтрация текстур трилинейная оптимизация что ставить. Фото Фильтрация текстур трилинейная оптимизация что ставитьФильтрация текстур трилинейная оптимизация что ставить. Смотреть фото Фильтрация текстур трилинейная оптимизация что ставить. Смотреть картинку Фильтрация текстур трилинейная оптимизация что ставить. Картинка про Фильтрация текстур трилинейная оптимизация что ставить. Фото Фильтрация текстур трилинейная оптимизация что ставить

Рис. 5A (левый сверху): Прямоугольная лента состоит из двух треугольников, текстурированных волнообразным изображением. Обратите внимание на «mip-banding» артефакты, обозначенные красными стрелками.

Рис. 5B (правый сверху): Увеличенная часть изображения в местах проявления ошибок «mip-banding».

Особенно остро проблема наличия ошибок «mip-banding» стоит в анимации, за счет того, что человеческий глаз очень чувствителен к смещениям и может легко заметить место резкого перехода между уровнями фильтрации при движении вокруг объекта.

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

Трилинейная фильтрация (trilinear filtering) представляет собой технику, которая удаляет артефакты «mip-banding», возникающие при использовании mip-текстурирования. При трилинейной фильтрации для определения цвета пикселя берется среднее значение цвета восьми текселей, по четыре из двух соседних текстур и в результате семи операций смешивания определяется цвет пикселя. При использовании трилинейной фильтрации возможен вывод на экран текстурированного объекта с плавно выполненными переходами от одного mip уровня к следующему, что достигается за счет определения LOD путем интерполяции двух соседних mip-map уровней. Таким образом решая большинство проблем, связанных с mip-текстурированием и ошибками из-за неправильного расчета глубины сцены («depth aliasing»).

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

Фильтрация текстур трилинейная оптимизация что ставить. Смотреть фото Фильтрация текстур трилинейная оптимизация что ставить. Смотреть картинку Фильтрация текстур трилинейная оптимизация что ставить. Картинка про Фильтрация текстур трилинейная оптимизация что ставить. Фото Фильтрация текстур трилинейная оптимизация что ставитьФильтрация текстур трилинейная оптимизация что ставить. Смотреть фото Фильтрация текстур трилинейная оптимизация что ставить. Смотреть картинку Фильтрация текстур трилинейная оптимизация что ставить. Картинка про Фильтрация текстур трилинейная оптимизация что ставить. Фото Фильтрация текстур трилинейная оптимизация что ставить

Рис. 6A (левый сверху): Прямоугольник текстурированный волнообразным изображением, выведен на экран с использованием mip-текстурирования и трилинейной фильтрации.

Рис. 6B (правый сверху): Увеличим полученное изображение; обратите внимание на отсутствие артефактов визуализации.

Далее вы сможете посмотреть на другой пример, показывающий преимущества от использования трилинейной фильтрации. В качестве источника был взят тестовый пакет от Ziff-Davis. В первом случае трилинейная фильтрация не применялась и нетрудно заметить «mip-banding» там, где желтая разметка дороги достигает изгиба шоссе (см. рис. ниже). Заметим, что проблема встает более остро при анимационном изображении.

Фильтрация текстур трилинейная оптимизация что ставить. Смотреть фото Фильтрация текстур трилинейная оптимизация что ставить. Смотреть картинку Фильтрация текстур трилинейная оптимизация что ставить. Картинка про Фильтрация текстур трилинейная оптимизация что ставить. Фото Фильтрация текстур трилинейная оптимизация что ставить

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

Фильтрация текстур трилинейная оптимизация что ставить. Смотреть фото Фильтрация текстур трилинейная оптимизация что ставить. Смотреть картинку Фильтрация текстур трилинейная оптимизация что ставить. Картинка про Фильтрация текстур трилинейная оптимизация что ставить. Фото Фильтрация текстур трилинейная оптимизация что ставить

Текущее положение дел в области производства графических чипсетов

С момента появления, mip-текстурирование стало широко распространенным стандартом в области трехмерной графики. Графические чипсеты, поддерживающие mip-текстурирование, сегодня делают большинство производителей. Однако, широкое применение хорошо реализованной трилинейной фильтрации началось только в чипсетах, выпущенных на рынок в этом году. Несмотря на то, что некоторые производители заявляют о поддержке трилинейной фильтрации, зачастую это реализуется за счет двухпроходного рендеринга — кстати очень эффективного способа снижения значений fill rate почти в два раза, из-за того, что графический чипсет вынужден обрабатывать каждый пиксель дважды. Заметим, что вывод изображения в два приема означает, что при втором наложении текстуры должно происходить смешивание с уже наложенной текстурой за первый проход. В дополнение к сказанному, стоит заметить, что в некоторых чипсетах, реализациях трилинейной фильтрации выполнена так, что она не используется в комбинации с некоторыми другими трехмерными функциями.

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

Для снижения стоимости и сложности аппаратной части, связанной с корректной реализацией трилинейной фильтрации и вычислений LOD для каждого пикселя, некоторые производители графических чипсетов предлагают использовать дешевую альтернативу, известную под именем «per polygon mip-mapping» (mip-текстурирование каждого многоугольника). В этом решении используется одно значение LOD для всех пикселенй в каждом полигоне (обычно в качестве полигонов используются треугольники), что позволяет избавиться от ошибок «mip-banding» внутри полигона. Однако, это решение не избавляет от «mip-banding». Артефакты, вместо проявления внутри каждого полигона, теперь проявляются на границах полигонов. Следствием использования «per polygon mip-mapping» является появление странного эффекта растрескивания, когда некоторые полигоны, из которых состоит объект, при анимации неожиданно становятся расплывчатыми или ступенчатыми.

Другая проблема при использовании «per-polygon mip-mapping» состоит в том, что mip уровень некоторых полигонов может отличаться от нескольких уровней внутри самого полигона. Совершенно невозможно выбрать только один mip уровень для полигона, который бы сразу избавил от эффектов неровностей (aliasing) для всех пикселей внутри полигона без появления расплывчатости некоторых других пикселей. «Per-polygon mip-mapping» требует больше вычислений, но при этом результат получается далеким от идеального, так как данная техника не избавляет от обоих указанных проблем.

Следующие ниже примеры иллюстрируют недостатки «per-polygon mip-mapping». Изображение «А» иллюстрирует ситуацию, когда mip-map уровень в треугольниках слишком высок и очень много деталей теряются в области прямоугольной ленты ближней к точке наблюдения. Изображение «В» иллюстрирует ситуацию, когда mip-map уровень в треугольниках ниже, чем в предыдущем примере, что должно снизить расплывчатость и восстановить некоторые детали, однако появился другой отрицательный эффект — «depth aliasing», который можно заметить на дальней от точки наблюдения стороне прямоугольной ленты. В завершении, как компромисс, вы можете посмотреть на два треугольника (которые формируют прямоугольную ленту), имеющие различные mip-map уровни, на изображении «С». Теперь присутствует «mip-banding» артефакт, имеющий место на границе двух треугольников. Более того, на изображении «С» проблемы ошибки вычисления глубины сцены («depth-aliasing») и потеря деталей все еще вполне очевидны.

Фильтрация текстур трилинейная оптимизация что ставить. Смотреть фото Фильтрация текстур трилинейная оптимизация что ставить. Смотреть картинку Фильтрация текстур трилинейная оптимизация что ставить. Картинка про Фильтрация текстур трилинейная оптимизация что ставить. Фото Фильтрация текстур трилинейная оптимизация что ставить Фильтрация текстур трилинейная оптимизация что ставить. Смотреть фото Фильтрация текстур трилинейная оптимизация что ставить. Смотреть картинку Фильтрация текстур трилинейная оптимизация что ставить. Картинка про Фильтрация текстур трилинейная оптимизация что ставить. Фото Фильтрация текстур трилинейная оптимизация что ставитьФильтрация текстур трилинейная оптимизация что ставить. Смотреть фото Фильтрация текстур трилинейная оптимизация что ставить. Смотреть картинку Фильтрация текстур трилинейная оптимизация что ставить. Картинка про Фильтрация текстур трилинейная оптимизация что ставить. Фото Фильтрация текстур трилинейная оптимизация что ставить

Рис. 7A (левый верхний): Прямоугольник текстурированный изображением шахматной доски под воздействием «per-polygon mip-map» уровня фильтрации. «Per-polygon mip-map» уровень слишком высокий и произошла потеря деталей на ближней стороне прямоугольника.

Рис. 7B (правый верхний): Прямоугольник текстурированный изображением шахматной доски под воздействием «per-polygon mip-map» уровня фильтрации. В этом случае «per-polygon mip-map» уровень слишком низкий и сразу появляются ошибки вычисления глубины сцены — «depth-aliasing».

Рис. 7C (нижний): Прямоуголник текстурированный изображением шахматной доски под воздействием «per-polygon mip-map» уровня фильтрации. В этом случае «per-polygon mip-map» уровень выбран компромиссным между применявшимися в примерах «А» и «В» — а именно, один треугольник имеет высокий mip-map уровень, в то время как другой треугольник имеет низкий mip-map уровень. В этом случае проявляется «mip-banding» на границе между двумя треугольниками. Более того, все еще ясно различимо присутствие «depth-aliasing» и потеря деталей.

В лучшем случае, техника «per-polygon mip-mapping» представляет собой низкокачественную замену для попиксельного mip-текстурирования. В худшем случае, следствием применения «per-polygon mip-mapping» является появление нового набора ошибок визуализации без избавления при этом от проблем, присущих наложению текстур. Без аппаратной реализации поддержки вычислений LOD для каждого пикселя, не существует способа предотвратить появление «mip banding» используя трилинейную фильтрацию.

Одной из альтернатив трилинейной фильтрации является анизотропная фильтрация (anisotropic filtering). Анизотропная фильтрация представляет собой продвинутую технику, следствием применения которой, при корректной реализации, является появление лишь нескольких ошибок визуализации, по сравнению с использованием трилинейной фильтрации. Анизотропная фильтрация может быть реализована с помощью использования выборки по шаблонам (over-sampling или оверсемплинг), в качестве которых могут выступать тексели. Идея в том, что для наложении текстуры на пиксель используется больше текселей, причем количество используемых текселей зависит от применяемого алгоритма. Тем не менее, применение over-sampling серьезно влияет на производительность графического чипсета. Для примера, восьмикратный over-sampling (т.е. когда для наложения текстуры используется восемь текселей) может снизить частоту смены кадров в приложении в восемь раз или больше, по сравнению с тем, что было бы без использования over-sampling. Как следствие, пока не существует решения пригодного для использования анизотропной фильтрации в режиме реального времени. Тем не менее, этот тип фильтрации будет со временем использоваться в приложениях, таких, как например интерфейсы GDI2000 и Chrome от Microsoft. Но, скорее всего, случится это не раньше 2000, так как пока нет приложений, которые могут использовать преимущества анизотропной фильтрации.

Заключение

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

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

Дополнительную информацию по данной теме можно прочитать здесь и здесь.

Источник

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

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

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

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

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

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

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

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

Примечания

Ограничения

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

Пример 1

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

Пример 2

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

Пример 3

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

Пример 4

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

Источник

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

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