призначення
Зображення найкраще виглядає, коли деталізація текстури близька до вирішення екрана. Якщо дозвіл екрана високе (текстура занадто маленька / об'єкт дуже близько), виходить розмите зображення. Якщо ж дозвіл текстури занадто висока (текстура занадто велика / об'єкт дуже далеко), отримуємо випадкові пікселі - а значить, втрату дрібних деталей, мерехтіння і великий відсоток промахів в кеш. Виходить, що краще мати кілька текстур різної деталізації і накладати на об'єкт ту, яка найбільш підходить в даній ситуації.
Принцип дії
Створюється так звана 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).
При накладенні текстур обчислюється відстань до об'єкта, відповідно знаходиться номер текстури як, де resolution - дозвіл віртуальної камери (кількість пікселів, яке буде в об'єкті розміром в 1 од. Розташованому в 1 од. Від камери), scale - масштаб текстури (розмір текселя в одиницях тривимірного світу), dist - відстань до об'єкта в тих же одиницях, mip bias - число, що дозволяє вибирати більш-менш детальну текстуру, ніж дає формула. Ця цифра округляється до цілого, і текстура з відповідним номером (нульова - сама детальна, перша - вдвічі менша і т. Д.) Накладається на об'єкт.
Недоліки, способи вирішення
MIP-текстурування не вирішує проблему текстур, що знаходяться під гострим кутом до глядача (наприклад, дорога в автосимуляторе). У таких текстур дозвіл по одній осі сильно відрізняється від дозволу по інший - і, наприклад, по осі X зображення явно розмито, в той час як по осі Y видно мерехтіння, властиві завищеним вирішенню текстури. Є відразу кілька способів вирішення цього (починаючи з найменш якісного):
Нарешті, видно чітка межа між MIP-рівнями. Це вирішується трилинейной фільтрацією.