Що таке 3D графіка
Що таке 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 і більш.
Основною тенденцією при переході від VGA до малтимедіа прискорювачів була можливість розміщення якнайбільше візуальної інформації на моніторі комп'ютера. Використання 3D графіки є логічним розвитком цієї тенденції. Великі обсяги візуальної інформації можуть бути утиснуті в обмежений простір екрана монітора, якщо вона представляється в тривимірному виді. Обробка тривимірної графіки в режимі реального часу дає можливість користувачу легко оперувати даними, що представляються.
Ігрові двигуни (Games engines)Перше правило комп'ютерних ігор - немає ніяких правил. Традиційно, розроблювачі ігор більше зацікавлені в крутій графіці своїх програм, чим проходженню рекомендацій технарей. Не дивлячись на те, що в розпорядженні розроблювачів мається безліч тривимірних API, наприклад - Direct3D, деякі програмісти йдуть по шляху створення власного 3D ігрові чи інтерфейси двигуна. Власні ігрові двигуни - один зі шляхів для розроблювачів домогтися неймовірної реалістичності зображення, фактично на межі можливостей графічного програмування.
Немає нічого більш бажаного для розроблювача, чим мати прямий доступ до апаратних функцій компонентів системи. Кілька відомих розроблювачів створили свої власні ігрові двигуни, що працюють з оптимальним використанням апаратних прискорювачів графіки, що принесли їм популярність і гроші. Наприклад, двигуни Interplay для Descent II і id Software для Quake, забезпечують щиру тривимірність дії, використовуючи наповну апаратні функції 3D, якщо вони доступні.
Графіка без компромисов
Розмови, що ведуться вже досить довгий час, про перспективи застосування тривимірної графіки в таких областях, як розваги і бізнес, допредела підігріли інтерес потенційних користувачів, на ринку вже з'явився новий тип продуктів. Ці нові технологічні рішення, сполучають у собі чудову підтримку 2D графіки, що відповідає сьогоднішнім вимогам до Windows акселлераторам, апаратну підтримку функцій 3D графіки і програють цифрове відео з необхідною частотою зміни кадрів.
У принципі, ці продукти можна змело віднести до нового покоління графічних підсистем, що забезпечують графіку без компромісів, що займають гідне місце стандартного устаткування в настільних обчислювальних системах.
Серед представників нового покоління можна назвати, як приклад, що випливають продукти:
процесор Ticket-To-Ride компанії Number Nine Visual Technologies
серія процесорів ViRGE компанії S3 Inc.
процесор RIVA128, розроблений спільно компаніями SGS Thomson і nVidia
Технологія 3D-графіки
Нехай нам все-таки удалося переконати Вас спробувати тривимірну графіку в дії (якщо Ви дотепер не зробили це), і Ви вирішили зіграти в одну з тривимірних ігор, призначених для застосування 3D-відеокарти.
Допустимо, такою грою виявився симулятор автомобільних гонок, і Ваша машина вже коштує на старті, готова кинутися до скорення нових рекордів. Йде передстартовий зворотний відлік, і Ви зауважуєте, що вид з кабіни, відображуваний на екрані монітора, небагато відрізняється від звичного.
Ви і колись брали участь у подібних гонках, але вперше зображення уражає Вас винятковим реалізмом, змушуючи повірити в дійсність що відбувається. Обрій, разом з вилученими об'єктами, тоне в ранковому серпанку. Дорога виглядає надзвичайно рівно, асфальт являє собою не набір грязно-сірих квадратів, а однотонне покриття з нанесеною дорожньою розміткою. Дерева уздовж дорогі дійсно мають листяні крони, у яких, здається, можна розрізнити окремі листи. Від всього екрана в цілому складається враження як від якісної фотографії з реальною перспективою, а не як від жалюгідної спроби змоделювати реальність.
Спробуємо розібратися, які ж технічні рішення дозволяють 3D-видеокартам передавати віртуальну дійсність з такою реалістичністю. Яким образом образотворчим засобам PC удалося досягти рівня професійних студій, що займаються тривимірною графікою.
Частина обчислювальних операцій, зв'язаних з відображенням і моделюванням тривимірного світу перекладено тепер на 3D-акселератор, що є серцем 3D-видеокарты. Центральний процесор тепер практично не зайнятий питаннями відображення, образ екрана формує відеокарта. В основі цього процесу лежить реалізація на апаратному рівні ряду ефектів, а також застосування нескладного математичного апарата. Спробуємо розібратися, що ж конкретно вміє графічний 3D-процесор.
Повертаючи до нашого приклада із симулятором гонок, задумаємося, яким чином досягається реалістичність відображення поверхонь чи дороги будинків, що коштують на узбіччі. Для цього застосовується розповсюджений метод, називаний текстурирование (texture mapping).
Це найпоширеніший ефект для моделювання поверхонь. Наприклад, фасад будинку зажадав би відображення безлічі граней для моделювання безлічі цеглин, вікон і двер. Однак текстура (зображення, що накладається на всю поверхню відразу) дає більше реалізму, але вимагає менше обчислювальних ресурсів, тому що дозволяє оперувати з усім фасадом як з єдиною поверхнею. Перед тим, як поверхні попадають на екран, вони текстурируются і затінюються. Усі текстури зберігаються в пам'яті, звичайно встановленої на відеокарті. До речі, тут не можна не помітити, що застосування AGP уможливлює збереження текстур у системній пам'яті, а її обсяг набагато більше.Очевидно, що коли поверхні текстурируются, необхідний облік перспективи, наприклад, при відображенні дороги з розділовою смугою, що іде за обрій. Перспективна корекція необхідна для того, щоб текстуровані об'єкти виглядали правильно. Вона гарантує, що бітмеп правильно наложится на різні частини об'єкта - і ті, котрі ближче до спостерігача, і на більш далекі.
Корекція з урахуванням перспективи дуже трудомістка операція, тому нерідко можна зустріти не зовсім вірну її реалізацію.
При накладенні текстур, у принципі, також можна побачити шви між двома найближчими бітмепами. Чи, що буває частіше, у деяких іграх при зображенні чи дороги довгих коридорів помітне мерехтіння під час руху. Для придушення цих труднощів застосовується фільтрація (звичайно Bi- чи tri-лінійна).
Білінійна фільтрація - метод усунення перекручувань зображення. При повільному чи обертанні русі об'єкта можуть бути помітні перескакування пікселів з одного місця на інше, що і викликає мерехтіння. Для зниження цього ефекту при білінійній фільтрації для відображення крапки поверхні береться зважене середнє чотирьох суміжних текстурних пикселов.
Трилінійна фільтрація трохи складніше. Для одержання кожного піксела зображення береться зважене середнє значення результатів двох рівнів білінійної фільтрації. Отримане зображення буде ще більш чітке і менш мерехтливе.
Текстури, за допомогою яких формується поверхня об'єкта, змінюють свій вид у залежності від зміни відстані від об'єкта до положення очей глядача. При зображенні, що рухається, наприклад, у міру того, як об'єкт віддаляється від глядача, текстурний повинний зменшуватися в розмірах разом зі зменшенням розміру відображуваного об'єкта. Для того щоб виконати це перетворення, графічний процесор перетворить битмэпы текстур аж до відповідного розміру для покриття поверхні об'єкта, але при цьому зображення повинне залишатися природним, тобто об'єкт не повинний деформуватися непередбаченим чином.
Для того щоб уникнути непередбачених змін, більшість керуючих графік процесів створюють серії передфільтрованіх бітмепов текстур зі зменшеним дозволом, цей процес називається mip mapping. Потім, графічна програма автоматично визначає, яку текстуру використовувати, ґрунтуючись на деталях зображення, що уже виведено на екран. Відповідно, якщо об'єкт зменшується в розмірах, розмір його текстурного бітмепа теж зменшується.
Але повернемося в наш гоночний автомобіль. Сама дорога уже виглядає реалистично, але проблеми спостерігаються з її краями! Згадаєте, як виглядає лінія, проведена на екрані не паралельно його краю. От і в нашої дороги з'являються "рвані краї". І для боротьби з цим недоліком зображення застосовується anti-aliasing.
Рвані краї
Рівні краї
Це спосіб обробки (інтерполяції) пикселов для одержання більш чітких країв (границь) зображення (об'єкта). Найбільше часто використовувана техніка - створення плавного переходу від кольору чи лінії краю до кольору тла. Колір крапки, що лежить на границі об'єктів визначається як середнє кольорів двох граничних крапок. Однак у деяких випадках, побічним ефектом anti-aliasing є змазування (blurring) країв.
Ми підходимо до ключовому моменту функціонування всіх 3D-алгоритмів. Припустимо, що трек, по якому їздить наша гоночна машина, оточений великою кількістю різноманітних об'єктів - будівель, дерев, людей.
Отут перед 3D-процесором устає головна проблема, як визначити, які з об'єктів знаходяться в області видимості, і як вони освітлені. Причому, знати, що очевидно в даний момент, недостатньо. Необхідно мати інформацію і про взаємне розташування об'єктів. Для рішення цієї задачі застосовується метод, називаний z-буферизация. Це самий надійний метод видалення схованих поверхонь. У так називаному z-буфері зберігаються значення глибини всіх пикселей (z-координати). Коли розраховується (рендерится) новий пиксел, його глибина порівнюється зі значеннями, збереженими в z-буфере, а конкретніше з глибинами вже срендеренных пикселов з тими ж координатами x і y. Якщо новий пиксел має значення глибини більше якого-небудь значення в z-буфері, новий пиксел не записується в буфер для відображення, якщо менше - те записується.
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