Формування 3D-зображень

Відеоадаптери VGA (і перші SVGA) мали обмежену палітру і низьку роздільну здатність екрану і дуже сильно завантажували центральний процесор. Причин тому було кілька:

Великих успіхів у поліпшенні кольоровості виробники досягли після випуску RAMDAC нового типу:

Але це докорінно не вирішило проблему, т.к. як і всі операції зі зміни кадрового буфера виконував CPU . Для розвантаження CPU та прискорення обробки графіки було вирішено використовувати графічний співпроцесор, який виконує апаратне прискорення графічних функцій, тобто. виконання операцій без участі CPU. Почалася епоха графічних акселераторів.

Водночас були використані нові типи динамічної пам'яті та нові шини інтерфейсу. Асоціація VESA ухвалила стандарт SVGA, який визначив єдиний механізм використання апаратних ресурсів.

Апаратне прискорення

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

Оскільки графічний співпроцесор фактично перетворився на самостійний комп'ютер, то чіпсет, з якого зроблено графічний прискорювач, почали називати графічним процесором.

Відеоадаптер з графічним співпроцесором (GPU) - це інтелектуальний пристрій, основу якого становить арифметико-логічний пристрій (АЛП). АЛУ фактично є мікропроцесор, що працює по мікроінструкціям з власного ОЗУ. Головна відмінність графічного співпроцесора від графічного акселератора у тому, що співпроцесор можна запрограмувати виконання різних завдань, тоді як прискорювач працює за жорсткому незмінному алгоритму. Акселератор складається з кількох вузькоспеціалізованих блоків, які забезпечуютьапаратну підтримку лише певних функцій. Крім того, співпроцесор, на відміну від акселератора, є активним пристроєм, що самостійно організує звернення до пам'яті, управління шиною вводу/виводу. Найяскравіше це проявляється при використанні шини AGP в режимі DiME, в якому перетворення виконуються не в кадровому буфері, а в системній пам'яті.

Існує також низка перспективних типів пам'яті. У тому числі RDRAM, DDR SDRAM, DDRII SDRAM, DDR3 SDRAM, 3D RAM, CDRAM, ESDRAM. 3D RAM призначений для обробки тривимірної графіки. Пам'ять є двопортовою і дозволяє здійснювати конвеєрну обробку даних. CDRAM є комбінацією з динамічної пам'яті і швидкісного буфера кешування, виконаного на елементах статичної пам'яті.

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

Графічний процесор (англ. Graphics Proccesing Unit, GPU) — пристрій, який виконує матефатичний обрахунок кадрів та його графічний рендеринг. Сучасні графічні процесори завдяки спеціалізованій конвеєрній архітектурі набагато ефективніші в обробці графічної інформації, ніж типовий центральний процесор.

Відмінними рисами (порівняно з ЦПУ) є:

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

Кожен графічний процесор має своє кодове найменування. Прикладом може бути чіп R520 від ATI або G70 від nVidia. Найчастіше мають MIPS архітектуру.

nVidia

9800 Кодове ім'я процесора G92

9500 GT/ 9600 GT/ 9600 GSO Кодове ім'я процесора G96/ G94/ G92

9300 GЕ/ 9300 GS/ 9400 GT Кодове ім'я процесора G98

8800/GS 8800/GT 8800/GTS 8800/GTS 512 8800/GTХ 8800Ultra Кодове ім'я процесора G92/ G92/ G80/ G92/ G80/ G80

8600 Кодове ім'я процесора G84

8200/ 8300/ 8300/ GS 8400/ GS 8400/ GS rev2 8500 GT Кодове ім'я процесора С78/ С78/ G86/ G86/ G98/ G86

7800/ 7900/ 7950 Кодове ім'я процесора G70/ G71/ G71

7600 Кодове ім'я процесора G73

7025/ 7050/ 7100/ 7100 GS/ 7150/ 7200 GS/ 7300 SE/ 7300 LE/ 7300 GS/ 7300 GT Кодовое имя процессора С73/ С73/ С73/ NV44/ С73/ G72/ G72/ G72/ G72/ G73

ATI

HD3870 - RV670 HD3850 - RV670 HD3690 - RV670 HD3650 - RV635 HD3470 - RV620 HD3450 - RV620 HD2900-R6 00- RV610 X1950 - R580+ X1950 - RV570 X1900 - R580 X1800 - R520 X1650 XT - RV560 X1650 Pro - RV530 X1550 - RV515 / RV516 X1300 - RV515 / RV505 X1050 - RV370

Синтез 3D-зображень

Як вже було зазначено, опис технології формування 3D-зображень дуже складне і займе чимало місця, тому ми розглянемо лише його основи. У загальному випадку синтез тривимірного зображення включає наступні етапи:

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

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

Процес розрахунку тривимірного зображення об'єкта називається 3D-конвеєром. У ньому можна виділити такіосновні етапи:

Етапи 7-12 називаютьрендерингом або промальовуванням. Тут вже обробляються растрові зображення, що складаються з пікселів та текселів. Тому цей етап іноді називають розтеризацією. Так як цей етап найбільш складний, то тут особливо потрібне апаратне прискорення.

Існує кілька універсальних API, таких якDirectX і OpenGL. Але також іноді використовуються так звані “native API”, створювані виробниками безпосередньо для своїх графічних чіпсетів. Серед таких можна привести Glide компанії 3 Dfx (для сімейства Voodoo), MeTAL компанії S 3 (для Savage), RenderGL та інші.

Архітектура 3D-акселератора

  • геометричний процесор (GPU, Geometry Processor)
  • механізм промальовування (Rendering Engine)
  • швидку пам'ять
  • цифро-аналоговий перетворювач (RAMDAC)
  • додаткові опціональні блоки

Інтерфейс 3D-акселераторів

PCI Express абоPCIe абоPCI-E (також відома як3GIO for 3rd Generation I/O; не плутати з PCI- X або PXI) — комп'ютерна шина, що використовує програмну модель шини PCI та високопродуктивний фізичний протокол, що базується на послідовній передачі даних.

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

Крім того, шиною PCI Express підтримується:

  • гаряча заміна карток;
  • гарантована смуга пропускання (QoS);
  • керування енергоспоживанням;
  • контроль цілісності переданих даних.

Шина PCI Express націлена на використання лише як локальна шина. Так як програмна модель PCI Express багато в чому успадкована від PCI, існуючі системи та контролери можуть бути доопрацьовані для використання шини PCI Express заміною тільки фізичного рівня, без доопрацювання програмного забезпечення. Висока пікова продуктивність шини PCI Express дозволяє використовувати її замість шин AGP і тим більше PCI та PCI-X, очікується, що PCI Express замінить ці шини на персональних комп'ютерах.

Для підключення пристрою PCI Express використовується двонаправлене послідовне з'єднання типу точка-точка, званеlane ; це різко відрізняється від PCI, в якій всі пристрої підключаються до загальної 32-розрядної паралельної однонаправленої шини.

З'єднання між двома пристроями PCI Express називаєтьсяlink, і складається з одного (званого1x ) або декількох (2x,4x,8x,12x,16x і32x ) двонаправлених послідовних з'єднаньlane. Кожен пристрій має підтримувати з'єднання1x.

Пропускна здатність з урахуванням двонаправленої передачі для шин PCI Express з різною кількістю зв'язків вказана в таблиці: