Реферат: Що таке 3D графіка
Вступ
Модель
Роль API
Графічні прискорювачі
Ігрові двигуни (Games engines)
Графіка без компромісів
Технологія 3D-графікі
Заключення
Вступ
Питання про те, що ж є двигуном усієї комп'ютерної індустрії, давно турбує багатьох користувачів. Чи то це фірма Intel, що, не перестаючи, випускає і випускає нові процесори. Але хто тоді змушує їх купувати? Може, в усьому винуватий Microsoft, що безупинно робить свої вікна більше і краше? Так ні, можна адже задовольнятися старими версіями програм - тим більше спектр їхніх можливостей практично не змінюється. Висновок напрошується сам собою - в усьому винуваті ігри. Так, саме ігри прагнуть усе більш і більш уподібнитися реальному світу, створюючи його віртуальну копію, хочуть усе більш могутніх ресурсів.
Вся історія комп'ютерної графіки на PC є тому підтвердженням. Згадаєте, на початку були тетріси, діггери, арканоїди. Уся графіка полягала в перемальовуванні невеликих ділянок екрана, спрайтів, і нормально працювала навіть на XT. Але пройшли ті часи. Зійшла зірка симулятрів.
З виходом таких ігор, як F19, Formula 1 і т.п., у яких приходилося вже перемальовувати весь екран, попередньо заготовлюючи його в пам'яті, усім нам довелося обзавестися, принаймні, 286 процесором. Але прогрес на цьому не зупинився. Бажання уподібнити віртуальний світ у грі реальному світу підсилилося, і з'явився Wolf 3D.
Це, можна сказати, перша 3D-гра, у якій був змодельований який-ніякий, але все-таки реалістичний світ. Для його реалізації довелося використовувати верхню (більш 640 Кб) пам'ять і загнати програму в захищений режим. Для повноцінної гри довелося установити процесор 80386. Але і світ Wolf 3D страждав недоліками. Хоча стіни і були не просто одноколірними прямокутниками, але для їхнього зафарбування використовувалися текстури з невеликим дозволом, тому поверхні виглядали пристойно лише на відстані. Звичайно, можна було піти по шляху нарощування дозволу текстур, згадаємо, наприклад, DOOM. Тоді нам довелося знову перейти на більш новий процесор і збільшити кількість пам'яті. Правда, усе рівно, хоча зображення і покращилося, але йому були присущи всі ті ж недоліки. Та й плоскі об'єкти і монстри - кому це цікаво.
Отут те і зійшла зірка Quake. У цій грі був застосований революційний підхід - z-буфер, що дозволив додати об'ємність всім об'єктам. Однак уся гра все рівно працювала в невисокому дозволі і не відрізнялася високою реалістичністю.
Назрівало нове апаратне рішення. І рішення це виявилося, узагалі ж, що лежить на поверхні. Раз користувачі хочуть грати в тривимірному віртуальному світі, то процес його створення (згадаємо хвилини чекання, проведені за 3D Studio перед появою чергової картинки) треба кардинально прискорити. А раз центральний процесор з цією задачею справляється з рук геть погано, було прийнято революційне рішення - зробити спеціалізований.
Отут те і виліз виробник ігрових автоматів 3Dfx, що зробив цю казку минулим за допомогою свого графічного процесора Voodoo. Людство зробило ще один крок у віртуальний світ.
А оскільки операційної системи на PC з текстурними вікнами, що спливають назад, у туман, поки ні, і не передбачається, весь апарат тривимірної графіки можна поки застосувати тільки до ігор, що успішно робить усе цивілізоване людство.
Модель
Для зображення тривимірних об'єктів на екрані монітора потрібно проведення серії процесів (звичайно називаних конвеєром) з наступною трансляцією результату в двовимірний вид. Спочатку, об'єкт представляється у виді набору крапок, чи координат, у тривимірному просторі. Тривимірна система координат визначається трьома осями: горизонтальної, вертикальної і глибини, звичайно називаних, відповідно осями x, y і z. Об'єктом може бути будинок, людина, машина, чи літак цілий 3D світ і координати визначають положення вершин (вузлових крапок), з яких складається об'єкт, у просторі. З'єднавши вершини об'єкта лініями, ми одержимо каркасну модель, називану так через те, що видимими є только краї поверхонь тривимірного тіла. Каркасна модель визначає області, що складають поверхні об'єкта, що можуть бути заповнені кольором, текстурами і висвітлюватися променями світла.
Рис. 1: Каркасна модель куба
Навіть при такім спрощеному поясненні конвеєра 3D графіки стає ясно, як багато потрібно обчислень для промальовування тривимірного об'єкта на двовимірному екрані. Можна представити, наскільки збільшується обсяг необхідних обчислень над системою координат, якщо об'єкт рухається.
Рис. 2: Модель літака з зафарбованими поверхнями
Роль API
Програмувальний інтерфейс додатків (API) складається з функцій, керуючих 3D конвеєром на програмному рівні, але при цьому може використовувати переваги апаратної реалізації 3D, у випадку наявності цієї можливості. Якщо мається апаратний прискорювач, API використовує його переваги, якщо ні, то API працює з оптимальними настроюваннями, розрахованими на самі звичайні системи. Таким чином, завдяки застосуванню API, будь-яка кількість програмних засобів може підтримуватися будь-якою кількістю апаратних 3D прискорювачів.
Для додатків загального і розважального напрямку, існують наступні API:
Microsoft Direct3D
Criterion Renderware
Argonaut BRender
Intel 3DR
Компанія Apple просуває свій власний інтерфейс Rave, створений на основі їх власного API Quickdraw 3D.
Для професійних додатків, що працюють під керуванням WindowsNT домінує інтерфейс OpenGL. Компанія Autodesk, найбільший виробник інженерних додатків, розробила свій власний API, називаний Heidi.
Свої API розробили і такі компанії, як Intergraph - RenderGL, і 3DFX - GLide.
Існування і приступність 3D інтерфейсів, що підтримують безліч графічних підсистем і додатків, збільшує потреба в апаратних прискорювачах тривимірній графіці, що працюють у режимі реального часу. Розважальні додатки, головний споживач і замовник таких прискорювачів, але не варто забувати і про профессиональні додатки для обробки 3D графіки, що працюють під керуванням Windows NT, багато хто з який переносяться з високопродуктивних робочих станцій, типу Silicon Graphics, на PC платформу. Інтернет додатка сильно виграють від неймовірної маневреності, інтїтивності і гнучкості, що забезпечує застосування тривимірного графічного інтерфейсу. Взаємодія в World Wide Web буде набагато простіше і зручніше, якщо буде відбуватися в тривимірному просторі.
Графічний прискорювач
Ринок графічних підсистем до появи поняття малтимедіа був відносно простий у розвитку. Важливою віхою в розвитку був стандарт VGA (Video graphics Array), розроблений компанією IBM у 1987 році, завдяки чому виробники відеоадаптерів одержали можливість використовувати більш високий дозвіл (640х480) і велику глибину представлення кольору на моніторі комп'ютера. З ростом популярності ОС Windows, з'явилася гостра потреба в апаратних прискорювачах двовимірної графіки, щоб розвантажити центральний процесор системи, змушений обробляти додаткові події. Відволікання CPU на обробку графіки істотно впливає на загальну продуктивність GUI (Graphical User Interface) - графічного интерфеса користувача, а тому що ОС Windows і додаткам для неї потрібно якнайбільше ресурсів центрального процесора, обробка графіки здійснювалася з більш низьким пріоритетом, тобто робилася дуже повільно. Виробники додали у свої продукти функції обробки двовимірної графіки, такі, як промальовування вікон при відкритті і свертовании, апаратний курсор, постійно видимий при переміщенні покажчика, зафарбування областей на екрані при високій частоті регенерації зображення. Отже, з'явився процесор, що забезпечує прискорення VGA (Accelerated VGA - AVGA), також відомий, як Windows чи GUI прискорювач, що став обов'язковим елементом у сучасних комп'ютерах.
Упровадження малтимедіа створило нові проблеми, викликані додаванням таких компонентів, як звук і цифрове відео до набору двовимірних графічних функцій. Сьогодні легко помітити, що багато продуктів AVGA підтримують на апаратному рівні обробку цифрового відео. Отже, якщо на Вашому моніторі відео програється у вікні, розміром з поштову марку - настав час установити у Вашій машині малтимедіа прискорювач. Малтимедиа прискорювач (multimedia accelerator) звичайно має убудовані апаратні функції, що дозволяють масштабувати відеозображення по осях x і y, а також апаратно перетворювати цифровий сигнал в аналоговий, для висновку його на монітор у форматі RGB. Деякі малтимедіа акселератори можуть також мати убудовані можливості декомпресси цифрового відео.
Розроблювачі графічних підсистем повинні виходити з вимог, частково диктованих розмірами комп'ютерного монітора, частково під впливом GUI, і частично під впливом графічного процесора. Первинний стандарт VGA з дозволом 640х480 пикселів був адекватний 14" моніторам, найбільш розповсюджених у той час. Сьогодні найбільш кращі монітори з розміром діагоналі трубки 17", завдяки можливості виводити зображення з дозволом 1024х768 і більш.