План

Відеоадаптер

Відеопам'ять

Трохи технічних подробиць

RAMDAC

3D-акселератори

3D-акселератори

Коли в ролі двигуна прогресу виступили комп'ютерні ігри, 2D-прискорювачі (див. Відеоакселератори) майже вичерпали свої можливості, і еволюція відеокарт пішла по шляху наділу їх все більш могутніми засобами прискорення тривимірної машинної графіки. Відеоадаптери, здатні прискорювати операції тривимірної графіки, отримали назву 3D-прискорювачів (синонімом є 3D-акселератор, а також що часто зустрічається жаргонне «3Dfx» для позначення всіх 3D-прискорювачів, а не тільки проведених компанією 3Dfx Interactive). Взагалі, 3D-прискорювачі існували і раніше, але областю їх застосування було тривимірне моделювання і САПР, коштували вони дуже дорого (від 1 до 15 тис. доларів) і були практично недоступні масовому користувачеві.

Які ж дії прискорює 3D-акселератор? У комп'ютері тривимірні об'єкти представляються за допомогою геометричних моделей, що складаються з сотень і тисяч елементарних геометричних фігур, зазвичай трикутників. Задаються також просторове положення джерел світла, відбивні властивості матеріалу поверхні об'єкту, ступінь його прозорості і т.п. При цьому деякі об'єкти можуть частково загороджувати один одного, між ними може відображатись світло; простір може бути не абсолютно прозорим, а затягнутим туманом або серпанком. Для більшого реалізму необхідно врахувати і ефект перспективи. Щоб поверхня змодельованого об'єкту не виглядала штучною, на неї наноситься текстура — двомірна картинка невеликого розміру, що передає колір і фактуру поверхні. Всі перераховані тривимірні об'єкти з урахуванням застосованих до них ефектів повинні зрештою бути перетворені в плоске зображення. Цю операцію, звану рендерінгом, і виконує 3D-прискорювач.

Перерахуємо найбільш поширені операції, які 3D-прискорювач виконує на апаратному рівні:

Видалення невидимих поверхонь. Зазвичай виконується по методу Z-буфера, який полягає в тому, що проекції всіх точок тривимірної моделі об'єкту на площину зображення сортуються в спеціальній пам'яті (Z-буфері) по відстані від площини зображення. Як колір зображення в даній крапці вибирається колір тієї крапки в Z-буфері, яка найбільш близька до площини зображення, а решта крапок вважається невидимими (якщо не включений ефект прозорості), оскільки вони загороджені від нас найпершою крапкою. Ця операція виконується переважною більшістю 3D-прискорювачів. У більшості сучасних прискорювачів передбачені 16-розрядні Z-буфери, що розміщуються у відеопам'яті на платі.

Закрашення (Shading) додає трикутникам, складовим об'єкт, певний колір, залежний від освітленості. Буває рівномірним (Flat Shading), коли кожен трикутник закрашується рівномірно, що викликає ефект не гладкої поверхні, а многогранника; по Гуро (Gouraud Shading), коли інтерполюються значення кольору уздовж кожної грані, що надає криволінійним поверхням гладшому вигляду без видимих ребер; по Фонгу (Phong Shading), коли інтерполюються вектори нормалі до поверхні, що дозволяє добитися максимальної реалістичності, проте вимагає великих обчислювальних витрат і в масових 3D-прискорювачах поки не використовується. Більшість 3D-прискорювачів уміють виконувати закрашення по Гуро.

Відсікання (Clipping) визначає частину об'єкту, видиму на екрані, і обрізає все остальное, щоб не виконувати зайвих розрахунків.

Розрахунок освітлення. Для виконання цієї процедури часто застосовують метод трасування променів (Ray Tracing), що дозволяє врахувати відображаться світла між об'єктами і їх прозорість. Цю операцію з різною якістю уміють виконувати всі 3D-прискорювачі.

Накладення текстур (Texture Mapping), або накладення плоского растрового зображення на тривимірний об'єкт з метою додання його поверхні більшої реалістичності. Наприклад, в результаті такого накладення дерев'яна поверхня виглядатиме саме як зроблена з дерева, а не з невідомого однорідного матеріалу. Якісні текстури зазвичай займають багато місця. Для роботи з ними застосовують 3D-прискорювачі на шині AGP, які підтримують технологію стиснення текстур. Найбільш досконалі карти підтримують мультитекстуріровання — одночасне накладення два текстур.

Фільтрація (Filtering) і згладжування (Anti-aliasing). Під згладжуванням розуміється зменшення спотворень зображень текстур за допомогою їх інтерполяції, особливо на межах, а під фільтрацією розуміється спосіб зменшення небажаної «зернистості» при зміні масштабу текстури при наближенні до 3D-об'єкту або при видаленні від нього. Відома білінійна фільтрація (Bilinear Filtering), в якій колір піксельна обчислюється шляхом лінійної інтерполяції квітів сусідніх пікселів, а також якісніша трилінійна фільтрація з використанням MIP-карт (Trilinear MIP Mapping). Під MIP-картами (від латів. Multum in Parvum — «багато що в одному») розуміється набір текстур з різними масштабами, що дозволяє в процесі трилінійної фільтрації виконувати усереднювання між сусідніми пікселами і між сусідніми MIP-картами. Трілінейная фільтрація дає особливий ефект при накладенні текстур на протяжний об'єкт, що віддаляється від спостерігача. Сучасні плати підтримують трилінійну фільтрацію.

Прозорість, або альфа-канал зображення (Transparency, Alpha Blending) — це інформація про прозорість об'єкту, що дозволяє будувати такі прозорі і напівпрозорі об'єкти, як вода, стекло, вогонь, туман і серпанок. Накладення туману (Fogging) часто виділяється в окрему функцію і обчислюється окремо.

Змішення квітів, або дизерінг (Dithering) застосовується при обробці двух- і тривимірних зображень з великою кількістю квітів на пристрої з меншою їх кількістю. Цей прийом полягає в малюванні малою кількістю квітів спеціального узору, що створює при видаленні від нього ілюзію використання більшої кількості квітів. Приклад дизерінга — вживаний в поліграфії спосіб передачі градацій сірого кольору за рахунок нанесення дрібних чорних крапок з різною просторовою частотою. У 3D-прискорювачах дизерінг використовується для передачі 24-бітового кольору в 8- або 16-бітових режимах.

Для підтримки функцій 3D-прискорювача в іграх і інших програмах існує декілька інтерфейсів прикладного програмування, або API (Application Program Interface), що дозволяють додатку стандартним чином використовувати можливості 3D-прискорювача. На сьогоднішній день існує безліч таких інтерфейсів, серед яких найбільш відомі Direct3D (Microsoft), OPENGL (Silicon Graphics), Glide (3Dfx), 3DR (Intel), Heidi (Autodesk), RENDERGL (Intergraph).

Інтерфейс Direct3D компанії Microsoft став фактичним стандартом для більшості комп'ютерних ігор; і більшість 3D-прискорювачів укомплектовані Direct3D-драйверами. Проте варто мати на увазі, що Direct3D підтримується тільки в середовищі Windows 95/98, а вже в Windows NT більшість плат не підтримують апаратних функцій прискорення.

Розроблений компанією Silicon Graphics для своїх графічних станцій Iris GL інтерфейс прикладного програмування OPENGL став загальноприйнятим стандартом для програм тривимірного моделювання і САПР. Використовуваний в професійних 3D-прискорювачах, він дозволяє дуже точно описувати параметри сцени. OPENGL в даний час є відкритим стандартом, контрольованим асоціацією OPENGL Architecture Review Board, в яку крім Silicon Graphics входять Digital, IBM, Intel, Intergraph, Microsoft і ін. Не дивлячись на це, існує безліч діалектів OPENGL. По поширеності в області комп'ютерних ігор OPENGL поступається Direct3D.

Драйвер 3D-прискорювача може підтримувати OPENGL в двох режимах: усіченому MCD (Mini Client Driver) і повному ICD (Installable Client Driver). Драйвер MCD реалізує тільки базовий набір операцій, ICD— високооптимізований драйвер, який забезпечує максимальну швидкодію. На жаль, багато виробників 3D-прискорювачів, заявивши про свою повну підтримку OPENGL, не забезпечують її навіть на рівні MCD-драйвера. Наявністю стабільних ICD-драйверів можуть похвалитися лише небагато 3D-прискорювачів (в основному на базі чіпсетів 3DPro, Glint, Permedia 2 і RIVATNT).

Інтерфейс Glide розроблений компанією 3Dfx Interactive для вироблюваних нею прискорювачів Voodoo. Glide здобув широке розповсюдження серед виробників комп'ютерних ігор, хоча, на відміну від OPENGL, Glide не є універсальним 3D API і підтримує тільки можливості Voodoo.

В даний час найбільш відомі наступні 3D-прискорювачі: ATI 3D Rage Pro і 3D Rage 128; Intel i740; Number Nine Ticket to Ride IV; Mitsubishi 3DPro/2mp, Matrox G100 і G200; S3 Savage3D; Riva128 і RIVATNT; Rendition V2100 і V2200; 3Dlabs Permedia 2 і 3; 3Dfx Voodoo, Voodoo2 і Voodoo Banshee; NEC POWERVR PCX2. На базі цих чіпсетів проводяться власне відеокарти, причому не тільки перерахованими компаніями, а і компаніями, що не випускають власні графічні процесори, наприклад ASUSTek, Creative Labs або Diamond Multimedia. Сучасні 3D-відеокарти володіють і функціями прискорення двомірної графіки. Виключенням є прискорювачі на базі 3Dfx Voodoo і Voodoo2, які підключаються до виходу звичайної відеокарти перед монітором спеціальним зовнішнім сполучним кабелем. Таке рішення погіршує якість 2D-зображення, і до того ж неможлива робота у віконному режимі. У 3Dfx Voodoo Banshee від цієї схеми відмовилися, і вона є повноцінним 2D/3D-ускоритель.


Використана література:

Інтернет

Характеристика роботи

Реферат

Кількість сторінок: 20

Безкоштовна робота

Закрити

Відеоадаптери

Замовити дану роботу можна двома способами:

  • Подзвонити: (097) 844–69–22
  • Заповнити форму замовлення:
Не заповнені всі поля!
Обов'язкові поля до заповнення «ім'я» і одне з полів «телефон» або «email»

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