MIP-текстурирование

MIP-текстурирование
Главная текстура и её уменьшенные копии

MIP-текстурирование (англ. MIP mapping) — метод текстурирования, использующий несколько копий одной текстуры с разной детализацией. Название происходит от лат. multum in parvo — «много в малом».

Содержание

Назначение

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

Принцип действия

Создаётся так называемая MIP-пирамида — последовательность текстур с разрешением от максимального до 1×1. Например: 1×1, 2×2, 4×4, 8×8, 16×16, 32×32, 64×64, 128×128, 256×256, 512×512 и 1024×1024. Каждая из этих текстур называется MIP-уровнем (англ. MIP level) или уровнем детализации (англ. level of detail).

На всех этих текстурах находится одно и то же изображение. Таким образом, MIP-текстурирование увеличивает расход видеопамяти на треть: \sum_{i=0}^\infty \left( \frac 1 4 \right)^i = 1 \frac 1 3.

При наложении текстур вычисляется расстояние до объекта, соответственно находится номер текстуры как {miplevel} = \log_2 \left( \frac {{dist}} {{texelsize} \cdot {resolution}} \right) + {mipbias}, где resolution — разрешение виртуальной камеры (количество пикселей, которое будет в объекте размером в 1 ед., расположенном в 1 ед. от камеры), texelsize — размер текселя в единицах трёхмерного мира, dist — расстояние до объекта в тех же единицах, mip bias — число, позволяющее выбирать более или менее детальную текстуру, чем даёт формула. Эта цифра округляется до целого, и текстура с соответствующим номером (нулевая — самая детальная, первая — вдвое меньшая и т. д.) накладывается на объект.

Недостатки, способы решения

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

MIP-текстурирование не решает проблему текстур, находящихся под острым углом к зрителю (например, дорога в автосимуляторе). У таких текстур разрешение по одной оси сильно отличается от разрешения по другой — и, например, по оси X изображение явно размыто, в то время как по оси Y видны мерцания, свойственные завышенному разрешению текстуры. Есть сразу несколько способов решения этого (начиная с наименее качественного):

  1. Установить в видеодрайвере наиболее комфортное значение mip bias — числа́, которое отвечает за выбор номера текстуры в пирамиде. Если оно отрицательное, видеоплата берёт более детальные текстуры, если положительное — менее детальные.
  2. Многие игры сами устанавливают подходящий mip bias для разных типов объектов. Например, в Live for Speed mip bias устанавливается пользователем отдельно для автомобилей, препятствий и дороги.
  3. Воспользоваться анизотропной фильтрацией — методом текстурирования, который направлен именно на решение этой проблемы.

Наконец, видна чёткая граница между MIP-уровнями. Это решается трилинейной фильтрацией.

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Полезное


Смотреть что такое "MIP-текстурирование" в других словарях:

  • Детальные текстуры — Главная текстура и её уменьшенные копии MIP текстурирование (англ. MIP mapping) метод текстурирования, использующий несколько копий одной текстуры с разной детализацией. Название происходит от лат. multum in parvo «много в одном». Содержание 1… …   Википедия

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

  • RenderWare — Игровой движок (Список) Логотип игрового движка …   Википедия

  • Glacier engine — Игровой движок (Список) Разработчик IO Interactive Аппаратная платформа ПК Xbox Xbox 360 PlayStation 2 PlayStation 3 GameCube Wii Поддержи …   Википедия

  • Тексел (графика) — У этого термина существуют и другие значения, см. Тексел. Тексел (сокращение от англ. Texture element) минимальная единица текстуры трёхмерного объекта. Пиксел текстуры. Обычно создание объекта в 3D графике оканчивается облечением его в… …   Википедия

  • Мегатекстура — (англ. MegaTexture) это графическая технология, разработанная Джоном Кармаком, техническим директором id Software. Его технология повторяет технологию Clipmaps (ClipTextures), которая разработана компанией SGI и уже достаточно давно… …   Википедия

  • Портал:Игры — Начинающим · Сообщество · Порталы · Награды · Проекты · Запросы · Оценивание География · История · Общество · Персоналии · Религия · Спорт · Техника · Наука · Искусство · Философия …   Википедия

  • Графический конвейер — Графический конвейер  аппаратно программный комплекс визуализации трёхмерной графики. Содержание 1 Элементы трехмерной сцены 1.1 Аппаратные средства 1.2 Программные интерфейсы …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»