Фільтрація анізотропна. Практичне використання розширень: анізотропна фільтрація
Фільтрація анізотропна є один з таких елементів розвитку сучасної графіки, який змушує багатьох користувачів міркувати на тему того, наскільки сьогодні стали доступними різні технології поліпшення зображення для користувачів.
Адже не варто приховувати того, що саме геймерам сьогодні стільки важлива максимально якісна тривимірна графіка, і саме вони на сьогоднішній день є практично єдиних споживачів всіляких нових технологій в області відеокарт. Адже високопотужний акселератор на даний момент може знадобитися тільки в тому випадку, якщо потрібно запустити якусь гру останнього покоління, в якій присутня дійсно вимогливий движок, який оперує складними шейдерами різних версій.
Якими бувають карти?
Відео: Налаштування драйверів NVIDIA
Робити якийсь надрозвинену движок в наш час - це досить серйозна трата коштів. І при цьому вагомий ризик. Такими прийомами користуються тільки високобюджетні проекти з масштабною рекламою, які заздалегідь, ще до виходу, впевнені в тому, що гру будуть активно змітати з прилавків. Також слід відзначити той факт, що останнім часом особлива увага приділяється «політиці» щодо сучасних ігрових движків, адже в сфері ігростроя давним-давно присутня політика, яка вважає за краще враховувати інтереси двох передових компаній в області графічних процесорів - це NVIDIA і ATI.
Компанії досить давно змагаються між собою, і насправді немає ніяких перспектив того, що в найближчому майбутньому це протистояння зможе закінчитися, проте споживачам це тільки на руку. Тепер уже мало просто розробити дійсно якісний движок, потрібно ще й заручитися підтримкою одного з виробників, які навіть створили власні партнерські програми для ігроробів.
Відео: Оптимізація налаштувань гри
А графіка все росте і росте…
Зробити абсолютну революцію в сфері графічних 3D-движків досить складно, внаслідок чого такі перевороти відбуваються відносно рідко. Однак при цьому, звичайно ж, якість зображення періодично поліпшується з плином часу і, як не дивно, відбувається це якраз під вихід якоїсь певної «продається» ігри на зразок Crysis.
Саме на основі анізотропної фільтрації, а також так званого антиалиасинга, здійснюється на сьогоднішній день випуск величезної кількості різних драйверів відеокарт кожного виробника, при цьому кожна компанія використовує власний підхід і політику щодо даної оптимізації, яка досить часто виявляється справедливою далеко не для всіх користувачів.
Що таке анізотропна фільтрація?
Фільтрація анізотропна - це спеціалізований спосіб поліпшення текстур на поверхнях, які знаходяться під певним кутом щодо камери. Точно так же, як трилинейная або ж билинейная, анізотропна дозволяє повністю усунути алиасинг на різних поверхнях, але при цьому вносить мінімум розмиття, завдяки чому зберігається гранична детальність зображення.
Варто відзначити той факт, що анізотропна фільтрація в іграх реалізується за допомогою складного обчислення, тому забезпечення відносно невеликий «ненажерливості» даної настройки в іграх стало спостерігатися тільки з 2004 року.
Для того щоб зрозуміти, що являє собою фільтрація анізотропна, потрібно мати певні базові знання в даній області. Звичайно, сьогодні кожен користувач прекрасно розуміє, що зображення на екрані складається з величезної кількості різних пікселів, кількість яких безпосередньо залежить від вирішення. Для того щоб вивести зображення на екран, відкритий повинен бути оброблений колір кожного пікселя.
Принцип дії
Вибирається певна текстура, яка відповідає дозволу, що знаходиться поперек напрямку огляду. Після цього береться кілька текселей, що знаходяться вздовж напрямку огляду, після чого здійснюється усереднення їх кольорів.
Так як на екрані може перебувати більше одного мільйона пікселів, а кожен тексель при цьому становить не менше 32 біт, анізотропна фільтрація в іграх вимагає неймовірно великій пропускній спроможності відеокарти, яку не забезпечують багато навіть найсучасніші пристрої. Саме з цієї причини такі великі вимоги до пам`яті зменшуються за рахунок використання кешування, а також спеціалізованих технологій стиснення текстур.
Як це працює?
Визначення кольору пікселів здійснюється шляхом накладення на полігони текстурних зображень, що складаються з пікселів двомірного зображення - текселей, які накладаються на 3D-поверхню. Головна дилема в даному випадку полягає в тому, які саме тексель визначатимуть колір пікселя на екрані. Для того щоб більш глибоко зрозуміти особливість, якої відрізняється фільтрація анізотропна, потрібно уявити, що ваш екран - це велика плита, на якій знаходиться величезна кількість різноманітних отворів, кожне з яких представляє собою піксель.
Щоб визначити колір пікселя на будь-якої тривимірній сцені, яка знаходиться за даною плитою, цілком достатньо просто подивитися в відповідний отвір. Тепер уявімо, що промінь світла проходить через нього, після чого потрапляє на наш полігон, і якщо він буде розташовуватися паралельно щодо місця свого входу, то в такому випадку вийде кругле світлову пляму. Якщо ж ні, то пляма буде кілька спотвореним, т. Е. Буде мати вже форму еліпса. Саме полігони, які розташовуються в світловому плямі, і будуть визначати колір кожного конкретного пікселя.
Навіщо вона потрібна?
Багато хто вважає, що анізотропна фільтрація використовується виключно для того, щоб забезпечити більш якісне зображення, однак насправді це просто кінцевий результат, який забезпечується далеко не тільки за рахунок самої фільтрації.
При формуванні образу певної текстури програмістами задається два рівня фільтрації текстур, які представляють собою фільтри мінімальної та граничної дистанції, що визначають те, яка конкретно функція фільтрації буде використовуватися в процесі формування образу текстури в тому випадку, якщо камера буде віддалятися або ж наближатися до нього.
Наприклад, можна розглянути, коли анізотропна або трилинейная фільтрація використовується при зближенні, тобто коли кожен тексель починає мати великі габарити, і вже покриває одночасно кілька пікселів. Для того щоб прибрати в даній ситуації ступінчастою, і буде використана фільтрація. При цьому потрібно зазначити, що в такій ситуації дане рішення є далеко не оптимальним, так як фільтрація (анізотропна або трилинейная) трохи змазує зображення. Для того щоб надати більш реалістичний вигляд зображенні, буде потрібно збільшення дозволу самої текстури.
Що краще вибрати?
Звичайно, будь-якому користувачу і простого геймера виникає цілком логічне запитання. Сьогодні є трилинейная і анізотропна фільтрація - яка краще? Насправді краще, звичайно ж, саме анізотропна технологія. Вся справа в тому, що трилинейная фільтрація не дуже правильно розраховує колір кожного окремого текселя, а якщо говорити більш точно, то зовсім неправильно його розраховує, якщо мова йде про похилих площинах. Застосування анизотропной технології дозволяє доповнити використовуються на даний момент режими фільтрації, регулюючи кут. При цьому чим більшою буде кут, тим вищим буде реалістичність і якість, які здатна забезпечити анізотропна фільтрація текстур. Однак в той же час потрібно розуміти, що потрібно і більшу кількість потужності карти на обробку даних.
Наскільки це допомагає?
Вам не слід очікувати того, що в кінцевому підсумку після включення даної функції тривимірна графіка казково покращиться, швидше на великих кутах навіть буде отримана певна розмиття, проте в загальному результаті ви отримаєте більш реалістичну картинку. У зв`язку з цим кожен для себе самостійно вирішує, чи варто йому використовувати цю функцію і наскільки вона буде для нього продуктивною.
Так як дуже сильного поліпшення якості картинки дана функція не забезпечує, ті люди, які намагаються забезпечити максимальну продуктивність гри на не найсильніших комп`ютерах, шукають, як відключити анізотропну фільтрацію. Вимогливість даної функції є трохи яку можна в порівнянні з тим, який результат вона забезпечує, тому варто задуматися про те, щоб відключити її в першу чергу.
Point Sampling
Point Sampling на сьогоднішній день являє собою найбільш простий варіант того, як визначається колір пікселя. Даний алгоритм грунтується на текстурному зображенні, коли вибирається який-небудь єдиний тексель, розташований максимально близько до центру світлової плями. Нескладно здогадатися, що такий варіант є далеко не найоптимальнішим, так як колір пікселя повинен визначатися одночасно декількома тексель, а вибирається в даному випадку тільки один, при цьому світлова пляма може змінювати свою форму, що алгоритм не бере до уваги.
Головним недоліком, яким відрізняється така фільтрація анізотропна, є те, що при досить близькому розташуванні до екрану кількість пікселів буде значно збільшуватися в порівнянні з кількістю текселей, внаслідок чого зображення стає далеко не таким цікавим. Так званий ефект блочности багато часто спостерігають у "древніх" комп`ютерних іграх.