Кратная фильтрация

 

Самым простым способом текстурирования является создание единственной текстуры среднего размера с приличной детализацией и наложение ее на полигоны объекта во всех случаях, когда требуется визуализация. Однако здесь возникают две проблемы. Во-первых, если текстура создана с максимально возможным разрешением и детализацией (например, 2048x2048 пикселов при глубине цветового охвата 32 бит), то расход вычислительных ресурсов и памяти при наложении текстур на все видимые объекты в трехмерной сцене будет просто фантастическим — никакой ускоритель не справится с таким потоком данных. Во-вторых, если уменьшить размер (и тем самым детализацию) текстур, то объекты по мере приближения к плоскости проекции будут выглядеть все более грубо.

Чтобы обойти такие проблемы, была разработана технология, получившая название кратная фильтрация (MIP mapping). Ее суть заключается в предварительном или динамическом создании набора текстур с различным разрешением и уровнем детализации на основе базовой текстуры максимального разрешения.

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

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

ТЕКСЕЛ — единичная точка трехмерного объекта с наложенной на нее текстурой.

Для выбора конкретного уровня детализации сегодня используют в основном динамический расчет LOD. Уровни LOD для текстур рассматривают как степени числа 4. Например, проецирование текстуры вызывает наложение одного тексела на пиксел, следовательно, уровень LOD определяется как нулевой и выбирается текстура с наивысшей детализацией. Если на пиксел пришлось 4 тексела, уровень LOD составляет 1, поэтому выбирается следующий уровень MIP mapping которому соответствует текстура с меньшей детализацией.

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