Реферат: Що таке 3D графіка
Z-буферизация при апаратній реалізації сильно збільшує продуктивність. Проте, z-буфер займає великі обсяги пам'яті: наприклад навіть при дозволі 640x480 24-розрядний z-буфер буде займати близько 900 Кб. Ця пам'ять повинна бути також установлена на 3D-видеокарте.
Здатність z-буфера, що дозволяє - самий головний його атрибут. Вона критична для високоякісного відображення сцен з великою глибиною. Чим вище дозволяє здатність, тим вище дискретність z-координат і точніше виконується рендеринг вилучених об'єктів. Якщо при рендеринге здатності, що дозволяє, не вистачає, то може станеться, що два перекриваючися об'єкти одержать ту саму координату z, у результаті апаратура не буде знати який об'єкт ближче до спостерігача, що може викликати перекручування зображення.
Для запобігання цих ефектів професійні плати мають 32-розрядний z-буфер і обладнаються великими обсягами пам'яті.
Крім перерахованих вище основ, тривимірні графічні плати звичайно мають можливість відтворення деякої кількості додаткових функцій. Наприклад, якби Ви на своєму гоночному автомобілі в'їхали б у пісок, то огляд би утруднився пилом, що піднявся. Для реалізації таких і подібних ефектів застосовується fogging (затуманення). Цей ефект утвориться за рахунок комбінування змішаних комп'ютерних колірних пикселов з кольором тумана (fog) під керуванням функції, що визначає глибину затуманивания. За допомогою цього ж алгоритму далеко віддалені об'єкти занурюються в серпанок, створюючи ілюзію відстані.
Реальний світ складається з прозорих, напівпрозорих і непрозорих об'єктів. Для обліку цієї обставини, застосовується 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-карт дозволяють користувачам бачити тривимірну графіку в реальному часі на своїх домашніх комп'ютерах. Ці нові акселератори дозволяють додавати реалізм до зображень і прискорювати висновок графіки в обхід центрального процесора, спираючи на власні апаратні можливості.
Хоча в даний час тривимірні можливості використовуються тільки в іграх, здається, ділові додатки також зможуть згодом витягти з них вигоду. Наприклад, засобу автоматизованого проектування вже мають потребу у висновку тривимірних об'єктів. Тепер створення і проектування буде можливо і на персональному комп'ютері завдяки можливостям, що відкриваються. Тривимірна графіка, можливо, зможе також змінити спосіб взаємодії людини з комп'ютером. Використання тривимірних інтерфейсів програм повинне зробити процес спілкування з комп'ютером ще більш простим, чим у даний час.
При підготовці матеріалу використовувалася інформація з Diamond White Papers