MIP-текстурування: відмінності між версіями
[неперевірена версія] | [неперевірена версія] |
Aibot (обговорення | внесок) м технічні зміни, replaced: | → |, Зображення: → Зображення: за допомогою AWB |
Секіші (обговорення | внесок) мНемає опису редагування |
||
Рядок 1: | Рядок 1: | ||
{{qd|неукраїномовний зміст — гидотний автопереклад}} |
|||
[[Зображення:MipMap Example STS101.jpg|frame|Головна текстура і її зменшені копії]] |
[[Зображення:MipMap Example STS101.jpg|frame|Головна текстура і її зменшені копії]] |
||
Версія за 07:34, 9 березня 2011
Цю статтю запропоновано швидко вилучити на підставі КШВ: неукраїномовний зміст — гидотний автопереклад.
Якщо ця стаття відповідає критеріям швидкого вилучення, але Ви маєте намір невідкладно виправити недоліки цієї сторінки, хоча не Ви її створили, Ви можете просто прибрати це повідомлення зі сторінки і почати редагувати. Не прибирайте це повідомлення зі сторінок, які Ви самі створили! Якщо Ви не погоджуєтеся з доречністю швидкого вилучення цієї статті, додайте {{Hangon}} поверх цього повідомлення та негайно обґрунтуйте на сторінці обговорення, чому, на Вашу думку, її потрібно залишити. Це приверне увагу адміністраторів і дасть Вам змогу оскаржити номінацію на швидке вилучення. Зауважте, що цю статтю може бути вилучено в будь-який момент за умови беззаперечної відповідності критеріям швидкого вилучення або якщо пояснення буде визнано недостатнім. До уваги адміністраторів: прохання ретельно перевірити посилання на цю статтю, історію сторінки (останнє редагування), журнал та останні зміни КШВ перед тим, як вилучити або залишити цю статтю. Останнє редагування зроблено користувачкою Секіші (внесок, журнали) 9 березня 2011 року о 07:34 UTC (7120403 хвилини тому). |
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-текстурування збільшує витрату відеопам'яті на третину: Неможливо розібрати вираз (синтаксична помилка): {\displaystyle \sum_ {i = 0} ^\infty\left (\frac 1 Квітень\right) ^ i = 1\frac 3 січня } .
При накладенні текстур обчислюється відстань до об'єкта, відповідно знаходиться номер текстури як Неможливо розібрати вираз (синтаксична помилка): {\displaystyle {miplevel} = \log_2\left (\frac {{dist}} {{texelsize}}\cdot {resolution}}\right) + {mipbias} } , де resolution - дозвіл віртуальної камери (кількість пікселів, яке буде в об'єкті розміром в 1 од., розташованому в 1 од. від камери), texelsize - розмір тексель в одиницях тривимірного світу, dist - відстань до об'єкта в тих же одиницях, mip bias - число, що дозволяє вибирати більш-менш детальну текстуру, ніж дає формула. Ця цифра округляється до цілого, і текстура з відповідним номером (нульова - найдетальніша, перша - вдвічі менша і т. д.) накладається на об'єкт.
Недоліки, способи вирішення
Витрата відеопам'яті збільшується на третину. Втім, відеопам'ять зараз досить дешева. До того ж, якщо об'єкт далеко, його детальну текстуру можна і вивантажити в оперативну пам'ять.
MIP-текстурування не вирішує проблему текстур, що знаходяться під гострим кутом до глядача (наприклад, дорога в автосимуляторе). У таких текстур дозвіл по одній осі сильно відрізняється від дозволу за іншою - і, наприклад, по осі X зображення явно розмито, в той час як по осі Y видно мерехтіння, властиві завищеним вирішенню текстури. Є відразу кілька способів вирішення цього (починаючи з найменш якісного):
- Встановити в відеодрайвер найбільш комфортне значення mip bias - числа, яке відповідає за вибір номера текстури в піраміді. Якщо воно негативне, відеоплата бере більш детальні текстури, якщо позитивне - менш детальні.
- Багато ігри самі встановлюють відповідний mip bias для різних типів об'єктів. Наприклад, в Live for Speed mip bias встановлюється користувачем окремо для автомобілів, перешкод і дороги.
- Скористатися анізотропної фільтрацією - методом текстурування, який спрямований саме на вирішення цієї проблеми.
Нарешті, видно чітка межа між MIP-рівнями. Це вирішується трилінійної фільтрацією.
Посилання
- Михайло Хабре. Створення детальних текстур c допомогою mip-map рівнів у Direct3D8. GameDev. ru. Процитовано 12 липня 2009.
{{cite web}}
: Проігноровано невідомий параметр|datepublished=
(можливо,|publication-date=
?) (довідка)