Суперсемплінг, мультісемплінг - анти-алиасинг зображення

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

Ось як це виглядає на практиці, коли віртуальне дозвіл в два рази вище підсумкового (видимого на екрані монітора) по горизонталі і вертикалі:

Один результуючий піксель складається з чотирьох субпікселів. Його колір визначається усередненням значень цих чотирьох віртуальних субпикселей.

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

Незабаром, після виходу GeForce2 GTS, ATI випустила гідну відповідь. Це був прискорювач Radeon256, що склав серйозну конкуренцію GeForce2. Звичайно, не була обійдена увагою стала тоді дуже модною функція анти-аліасинга. ATI ніяк не вдосконалив стандартну реалізацію і, точно так же, ввела примусове включення повноекранного згладжування в будь-яких іграх, тому немає сенсу розглядати її окремо (все, вище сказане про суперсемплінг, вірно і для Radeon256).

Інший вид згладжування, на основі мультісемплінг, запропонувала NVIDIA в своєму черговому поколінні продуктів GeForce3, а потім трохи допрацювала його, до виходу GeForce4.

ATI також не залишилася осторонь. У відповідь на сімейство GF3, вона випустила дуже серйозний продукт, крім усього іншого, що підтримує фірмовий метод анти-аліасинга, альтернативний підходу NVIDIA.

Основна ідея методу NVIDIA, яка дозволила настільки істотно підняти швидкість цієї функції полягає в тому, що згладжування робиться тільки на краях трикутників (полігонів) і не робиться всередині них або за їх межами. Логіка тут проста: аліасинга не буває всередині трикутників - з пікселізацією текстур справляються билинейная або анізотропна фільтрації. Аліасинга не буває і за межами всіх трикутників, тому, що де немає трикутників, там немає і об'єктів, на яких можна спостерігати "сходовий ефект". Тобто, прискорювач був звільнений від значної частини роботи, пов'язаної зі згладжуванням всього зображення повністю, і робив згладжування тільки там, де є алиасинг.

Вигода від такого рішення очевидна: серйозний приріст в швидкості. Які ж недоліки? Якщо ви пам'ятаєте, вище, на початку розділу, я розповідав про той позитивний вплив, який чинить повноекранне згладжування на текстури, значно покращуючи їх якість. Так ось: HRAA не робить на текстури ніякого впливу взагалі, ні позитивного, ні негативного. Ця функція на 100% відповідає своїй назві, спеціалізується виключно на боротьбі з ефектом аліасинга і нічого більше не робить (на відміну від суперсемплінг, якісно згладжує всі зображення без винятків).

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