Loading AI tools
З Вікіпедії, вільної енциклопедії
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-текстурування збільшує витрату відеопам'яті на третину: .
При накладенні текстур обчислюється відстань до об'єкта, відповідно знаходиться номер текстури як , де resolution — роздільність віртуальної камери (кількість пікселів, яке буде в об'єкті розміром в 1 од., розташованому в 1 од. від камери), texelsize — розмір текселя в одиницях тривимірного світу, dist — відстань до об'єкта в тих же одиницях, mip bias — число, що дозволяє вибирати більш-менш детальну текстуру, ніж дає формула. Ця цифра округляється до цілого, і текстура з відповідним номером (нульова — найдетальніша, перша — вдвічі менша і т. д.) накладається на об'єкт.
Витрата відеопам'яті збільшується на третину. Втім, відеопам'ять зараз досить дешева. До того ж, якщо об'єкт далеко, його детальну текстуру можна вивантажити в оперативну пам'ять.
MIP-текстурування не вирішує проблему текстур, що знаходяться під гострим кутом до глядача (наприклад, дорога в автосимуляторі). У таких текстур роздільність за однією з осей дуже відрізняється від роздільності за іншою — і, наприклад, по осі X зображення явно розмите, в той час як по осі Y видно мерехтіння, властиві завищеній роздільності текстури. Є відразу кілька способів вирішення цього (починаючи з найменш якісного):
Нарешті, видно чітка межа між MIP-рівнями. Це вирішується трилінійною фільтрацією.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.