Фільтрування текстур - База знань Zen Designer

Колір пікселя на екрані має теоретично однозначно визначатися. Однак правило це справедливе лише у простих випадках. Піксел лише в математичному сенсі називається точкою, але фізично він у будь-якому випадку має конкретні розміри і виглядає як квадрат, розмір якого залежить від дозволу монітора та роздільної здатності текстури. Тобто один піксель текстури при 100% збільшенні дорівнює одному пікселю зображення.

Як тільки ми апаратно збільшуємо роздільну здатність картинки, залишаючи при цьому збільшення колишнім, виходить, що на один піксел зображення припадає кілька пікселів монітора. Якщо й надалі продовжувати збільшувати зображення, то вийде страшне зображення.

Для покращення якості зображення у найпростішому випадку використовують поточну вибірку. Очевидно, що при збільшенні розміру зображення до нього додаються нові пікселі так, щоб роздільна здатність зображення відповідала роздільній здатності монітора. Колір нових пікселів вибирається або точно такий, який був у кожного окремого пікселя до збільшення, або береться середнє арифметичне кольорів всіх сусідніх пікселів. Тобто колір нового пікселя визначається кольором пікселів, розташованих поруч. Отримуваний при цьому результат виглядає досить грубим, адже нові пікселі по суті не існують у реальному зображенні. Для того, щоб максимально згладити даний ефект, існує кілька алгоритмів: білінійна, трилінійна та анізотропна фільтрація.

Білінійна фільтрація

Технологія використовується для покращення зображення. У разі білінійної фільтрації прийнято вважати, що частина зображення, що фільтрується, обмеженого межами одного піксела, являє собою як би коло, а колір піксела розраховується шляхом апроксимації кольорівчотирьох пікселів, що примикають до нього. При сильному програмному збільшенні зображення трапляється, що в коло потрапляє мало пікселів і тоді зображення виглядає розмитим.

Трилінійна фільтрація

Технологія використовується для покращення якості зображення. Є комбінацією двох інших технологій: MIP mapping та білінійну фільтрацію. У MIP mapping використовуються текстури з різним ступенем роздільної здатності залежно від коефіцієнта збільшення зображення. При трилінійній фільтрації беруться кілька пікселів, що оточують піксель, який потрібно обробити. До всіх цих пікселів послідовно застосовується технологія білінійної фільтрації. У результаті апроксимація проводиться вже не за чотирма пікселями, як із білінійної фільтрації, а, по восьми чи більше. Отримуваний результат виглядає більш реалістичним.

Анізотропна фільтрація

На даний момент вважається найкращою технологією фільтрації зображення. Існує кілька алгоритмів анізотропної фільтрації, суть яких полягає в якомога більш точному розрахунку кольору пікселів з урахуванням не тільки сусідніх, але й ґрунтуючись на глибшому аналізі ділянки зображення, що обробляється.