Трилинейная фильтрация (frii-linear filtering - более сложный метод текстурирования, при котором кроме интерполяции текстуры выполняется интерполяция между уровнями детализации текстуры). Это метод реализуется комбинацией билинейной фильтрации и так называемого наложения mip mapping (текстуры, имеющие разную степень детализации в зависимости от расстояния до точки наблюдения, причем при отображении удаляющихся объектов уменьшается насыщенность, яркость цветов текстуры, степень ее детализации и увеличивается скорость ее обработки). При трилинейной фильтрации берутся две соседние текстуры, одна из которых содержит текселы, попадающие в проекцию, а другая является ближайшей к ней по удаленности, и к каждой применяют билинейную фильтрацию. В итоге аппроксимация проводится уже по восьми текселам и результат выглядит ближе к реальности, так как текстуры заранее обсчитаны для определенных расстояний. Однако и к пропускной способности памяти требования в восемь раз выше, чем при поточечной фильтрации. Важной операцией в визуализации трехмерных объектов является рисование многоугольника, так обычно представляются движущиеся объекты. Текстуры на многоугольниках придают объекту более реалистичный вид, сохраняя преимущества быстрого рисования трехмерных изображений. Рисование многоугольника напоминает процесс наложения текстурных карт на каркасные структуры, хотя и требует большей производительности. Сетка, покрывающая поверхность в трехмерном пространстве, в большинстве случаев составлена из треугольников, что снижает сложность программного (или аппаратного) обеспечения для вывода объекта на экран. Изменяя размер треугольников, можно управлять степенью детализации объектов. Использование трилинейной фильтрации значительно замедляет работу 3D-ускорителей, но формирует более качественное изображение, чем обычная билинейная с мипмэппингом.
Анизотропная фильтрация, используемая в некоторых видеоадаптерах, позволяет сделать сцену еще более реалистичной. Анизотропная фильтрация на сегодняшний день считается одной из лучших технологий отображения текстур. Существуют различные алгоритмы анизотропной фильтрации, суть которых в возможно более точном учете формы проекции при различном положении текстурированного полигона по отношению к проецируемой плоскости. То есть, вокруг центра проекции строится виртуальный куб из наложенных друг на друга текселов текстур разного уровня детализации, которые теоретически пересекает проекция. Внутри куба плоскость проекции может располагаться как угодно - в идеале будут учтены все точки, попадающие в проекцию. В зависимости от размера грани куба может быть обсчитано от 8 до 32 текселов для определения цвета единственного пиксела. Результат действительно близок к фотореалистичному, но и задействованные ресурсы велики. Поэтому технология анизотропной фильтрации аппаратно реализована только в относительно дорогих ускорителях.
Билинейная фильтрация(bi-linear filtering - метод текстурирования, при котором выполняется интерполяция текстуры). Улучшение качества изображения небольших текстур, помещенных на большие многоугольники (достигается так называемая “размазанность текстур”). Эта технология устраняет эффект "блочности" текстур.
Широко распространенным методом наложения карт рельефа является так называемое диффузное смешение (embossing - тиснение). Суть его заключается в следующем. Берется карта высот, и на ее основе строится инвертированная (обратная) копия. Далее карте рельефа присваиваются координаты (х,у) вершины полигона, на который накладываются текстуры. Из вершины на плоскость полигона строится единичный вектор, направленный на источник света. Затем он умножается на некоторое число, а итоговый вектор служит для смещения относительно карты рельефа координат инвертированной копии. Затем обе карты суммируются. Важным в данном методе является подбор числа, на которое умножается единичный вектор света, так как величина смещения инвертированной карты высот не должна приводить к нежелательным эффектам. При недостаточном смещении эффект наложения высот не заметен, при излишнем смещении изображение двоится и размывается. Таким образом, если к базовой текстурной карте попеременно применять разные карты высот или одну карту, но со смещением на каждом последующем шаге, то мы получим динамическую картину изменения освещенности объекта. Очевидно, что в этом случае термины «наложение рельефа» и «расчет освещенности» по физическому смыслу являются синонимами. Для реализации технологии наложения рельефа требуется обработать три текстурных карты: базовую, рельефа и инвертированную. Обработка инвертированной карты представляет собой весьма трудоемкую вычислительную задачу (для получения полноценного преобразования требуется три прохода конвейера блока рендеринга, но если в видеоакселераторе реализованы два конвейера, способные работать параллельно, то потребуется два прохода). В итоге получается при больших вычислительных затратах изображение среднего качества.
Важным свойством трехмерных текстур является способность реалистично имитировать материалы с характерной внутренней структурой. Например, для моделирования деревянной конструкции достаточно создать ее полигональную модель, затем разработать трехмерную текстуру, имитирующую рисунок деревянной поверхности, и присвоить ее полигонам. Заботиться о рисовании текстур для каждого полигона и о «сшивании» их на границах уже нет необходимости. Помимо этого трехмерные текстуры позволяют реалистично имитировать спецэффекты и природные явления и даже движение тел. На самом деле, если поместить полигон последовательно, с заданным сдвигом, в трехмерную текстуру и также последовательно его отображать, меняя только одну координату, получится эффект анимации. Подобным образом можно имитировать огонь, блики на поверхности воды и металлов, множество других эффектов. Особое место занимает возможность правдоподобной имитации объемных эффектов: дыма, взрывов, локального тумана достаточно простыми способами, по сравнению с технологией систем частиц.
Рельефное текстурирование или наложение рельефа (bump-mapping - методика наложения рельефных поверхностей) - это технология предназначенная для воспроизведения специальных световых эффектов, таких как водная рябь, камни и другие сложные поверхности. Это придает большую реалистичность игровым сценам и ландшафтам. Для того, чтобы подчеркнуть бугорки и впадины с помощью светотени, надо затемнять или осветлять стенки этих бугорков и впадин. Другой метод заключается в симуляции рельефности глянцевой или зеркальной поверхности отражением окружающей среды. Технология Bump mapping призвана повысить реализм моделей путем применения помимо текстурной карты дополнительной карты высот (карты рельефа). Сами по себе обработанные по данной технологии полигоны (треугольники) остаются плоскими. Карта высот содержит лишь двухмерный массив данных, где максимальное значение числа означает наибольшую относительную высоту. В отличие от географических карт, где возможны отрицательные значения высот (так как за точку отсчета принят уровень моря), карта рельефа в компьютерной графике содержит только положительные числа. Количество градаций высот зависит от замысла разработчика.
ЕМВМ (Environment Map Bump Mapping) - наложение рельефа картой окружающей среды. Карта окружающей среды (иногда ее называют картой отражения) служит для отражения в объекте свойств окружающего пространства. Карты отражения либо создаются заранее, во время разработки игры (обычно используются сферические карты среды), либо в ходе построения трехмерной сцены (кубические карты среды).
Визуальные свойства карт окружающей среды можно сделать зависимыми от направления линии визирования (что соответствует правилам физической оптики). С целью ускорения обработки трехмерной сцены разработчики иногда не предусматривают изменения карты среды в зависимости от направления линии визирования. Более качественным является метод создания кубических карт окружающей среды в ходе построения трехмерной сцены. По сути дела, для этого необходимо предварительно выполнить рендеринг сцены относительно объекта, к которому применяется технология ЕМВМ. Затем попиксельное состояние окружения записывается в трехмерную текстурную карту, которая и накладывается на объект. В результате можно добиться качественного изображения эффектов, практически невыполнимых другими способами, например динамического отражения окружения в водной поверхности.
Недостатком технологии наложения рельефа, помимо большого расхода вычислительных ресурсов, считается не слишком качественная по сегодняшним меркам итоговая сцена. Поэтому разработчики пошли дальше и предложили более совершенные методы, в частности - наложение рельефа методам скалярного произведения.
Метод скалярного произведения основан на так называемой математической модели света. Она существенно отличается от физической модели. Например, в физической модели интенсивность света падает обратно пропорционально расстоянию его распространения. В математической модели освещенность с расстоянием не изменяется. Свет рассматривается как единичный вектор, направленный на источник. Вторым вектором выступает вектор камеры (точки обзора наблюдателя). Используется также вектор нормали, представляющий собой сумму векторов света и камеры, приведенную к единице.
С помощью указанных векторов вычисляются значения для диффузного (рассеянного) и зеркального (бликового) света. В обычном случае цвет поверхности рассчитывается как сумма цветов диффузного и бликового света для каждой вершины полигона, а затем интерполируется по его поверхности. Это приводит к весьма посредственным результатам. Методикой скалярного произведения предусмотрено использование так называемых «карт возмущенных нормалей». Для этого берется карта рельефа и рассчитывается значение нормали в каждой точке в локальной системе координат полигона. Результат записывается как отдельная текстурная карта (функция «возмущения» нормали картой рельефа), которая накладывается путем скалярного произведения на базовую текстуру.
Для полноценной реализации данного метода требуется: рассчитать для каждой вершины полигона в локальной системе координат вектор единичного света и вектор нормали, поместить результат как исходную карту освещенности; рассчитать карту возмущенных нормалей; загрузить базовую текстуру; наложить все текстуры друг на друга методом скалярного произведения.
Расход вычислительных ресурсов при этом весьма велик - для каждой вершины считаются по три нормализации векторов, локальная прямоугольная система координат, разложение двух векторов в данной системе. Однако современные геометрические процессоры выполняют такую операцию достаточно быстро, а в итоге при однопроходном текстурировании получается высокое качество сцены.