Що таке 3D графіка?
Реальний світ складається з прозорих, напівпрозорих і непрозорих об'єктів. Для обліку цієї обставини, застосовується alpha blending - спосіб передачі інформації про прозорість напівпрозорих об'єктів. Ефект напівпрозорості створюється шляхом об'єднання кольору вихідного пиксела з пикселом, що вже знаходиться в буфері.
У результаті колір крапки є комбінацією кольорів переднього і заднього плану. Звичайно, коефіцієнт alpha має нормалізоване значення від 0 до 1 для кожного кольорового пиксела. Новий пиксел = (alpha)(колір пиксела А) + (1 - alpha)(колір пиксела В).
Очевидно, що для створення реалістичної картини необхідно часте відновлення, що відбувається на екрані, його вмісту. При формуванні кожного наступного кадру, 3D-акселератор проходить весь шлях підрахунку заново, тому він повинний мати чималу швидкодію. Але в 3D-графіку застосовуються й інші методи додання плавності руху. Ключовий - Double Buffering.
Уявіть собі старий трюк аниматоров, що малювали на куточках стопки папера персонаж мультику, зі злегка змінюваним положенням на кожнім наступному листі. Пролистав усю стопку, відгинаючи куточок, ми побачимо плавний рух нашого героя. Практично такий же принцип роботи має і Double Buffering у 3D анімації, тобто наступне положення персонажа вже намальовано, до того, як поточна сторінка буде пролистана. Без застосування подвійний буферизации зображення не буде мати необхідної плавності, тобто буде переривчастим. Для подвійний буферизации потрібно наявність двох областей, зарезервованих у буфері кадрів тривимірної графічної плати; обидві області повинні відповідати розміру зображення, виведеного на екран. Метод використовує два буфери для одержання зображення: один для відображення картинки, іншої для рендеринга. У той час як відображається вміст одного буфера, в іншому відбувається рендеринг. Коли черговий кадр оброблений, буфери переключаються (міняються місцями). Таким чином, що грає увесь час бачить відмінну картинку.
На закінчення обговорення алгоритмів, застосовуваних у 3D-графічних акселераторах, спробуємо розібратися, яким же образом застосування всіх ефектів по окремості дозволяє одержати цілісну картину. 3D-графіки реалізується за допомогою багатоступінчастого механізму, називаного конвеєром рендеринга.
Застосування конвеєрної обробки дозволяє ще прискорити виконання розрахунків за рахунок того, що обчислення для наступного об'єкта можуть бути початі до закінчення обчислень попереднього.
Конвеєр рендеринга може бути розділений на 2 стадії: геометрична обробка і растеризация.
На першій стадії геометричної обробки виконується перетворення координат (обертання, перенос і масштабування всіх об'єктів), відсікання невидимих частин об'єктів, розрахунок висвітлення, визначення кольору кожної вершини з обліком усіх світлових джерел і процес розподілу зображення на більш дрібні форми. Для опису характеру поверхні об'єкта вона поділяється на всілякі багатокутники.
Найбільше часто при відображенні графічних об'єктів використовується розподіл на трикутники і чотирикутники, тому що вони легше всего обраховуються і ними легко маніпулювати. При цьому координати об'єктів переводяться з речовинного в цілочислене представлення для прискорення обчислень.
На другій стадії до зображення застосовуються всі описані ефекти в наступній послідовності: видалення схованих поверхонь, накладення з урахуванням перспективи текстур (використовуючи z-буфер), застосування ефектів тумана і напівпрозорості, anti-aliasing. Після цього чергова крапка вважається готової до приміщення в буфер з наступного кадру.
З усього вищевказаних можна зрозуміти, для яких цілей використовується пам'ять, установлена на платі 3D-акселератори. У ній зберігаються текстури, z-буфер і буфери наступного кадру. При використанні шини PCI, використовувати для цих цілей звичайну оперативну пам'ять не можна, тому що швидкодія відеокарти істотно буде обмежено пропускною здатністю шини. Саме по цьому для розвитку 3D-графіки особливо перспективн просування шини AGP, що дозволяє з'єднати 3D-чип із процесором прямо і тим самим організувати швидкий обмін даними з оперативною пам'яттю. Це рішення, до того ж, повинні удешевить тривимірні акселератори за рахунок того, що на борті плати залишиться лише небагато пам'яті власне для кадрового буфера.Висновок
Повсюдне впровадження 3D-графіки викликало збільшення потужності комп'ютерів без якого-небудь істотного збільшення їхньої ціни. Користувачі приголомшені можливостями, що відкриваються, і прагнуть спробувати їх у себе на комп'ютерах. Безліч нових 3D-карт дозволяють користувачам бачити тривимірну графіку в реальному часі на своїх домашніх комп'ютерах. Ці нові акселератори дозволяють додавати реалізм до зображень і прискорювати висновок графіки в обхід центрального процесора, спираючи на власні апаратні можливості.