Що таке анізотропна фільтрація?

click fraud protection

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

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

Mipmaps

Основним рішенням цього розмиття є текстурні mipmaps. Mipmapping передбачає попереднє обчислення серії зменшених версій текстур. Наприклад, якщо вихідна текстура має розмір 256×256 пікселів, версія mipmap матиме версії 128×128, 64×64, 32×32 пікселів тощо. Такий дизайн збільшує розмір будь-якого файлу текстури на 33%.

Порада: «Mip» у Mipmap походить від ініціалів фрази «багато на маленькому просторі» латинською мовою «Multum in parvo».

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

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

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

Порада: слово «анізотропний» має складне походження. «A» означає ні, «iso» означає те саме, а «тропік» походить від tropism, що означає пов’язане з напрямком. Ця назва підходить, тому що анізотропна фільтрація не фільтрує однаково в усіх напрямках.

В іграх параметр анізотропної фільтрації часто представлений з множником, як правило, 2x, 4x, 8x і 16x. Вони представляють кількість зменшень розміру, доступних для використання. Як правило, різницю між 8x і 16x майже неможливо розрізнити, крім як порівняння пліч-о-пліч. Це пов’язано з тим, що уражені лише текстури є віддаленими, дрібними, і тому їх важко побачити. Вплив анізотропної фільтрації на продуктивність відносно мінімальний.