Реферат: Що нас чекає найближчим часом у світі 3D графіки
Фотореалістична графіка
Останнім часом ведеться багато дискусій про використання фотореалістичної графіки в іграх і додатках, однак жоден з існуючих на ринку 3D акселераторів поки не має можливості забезпечити необхідну апаратну підтримку. При цьому nVidia підтвердила, що в чипсет NV10 буде убудована апаратна підтримка розрахунку трансформацій і освітленості (Transformation and Lighting, T & L), інакше кажучи, у NV10 буде вбудований спеціалізований геометричний чи співпроцесор акселератор геометрії (geometry accelerator), а це значить, що стане можливо використовувати фотореалістичну графіку навіть на комп'ютерах з помірною продуктивністю. Помітимо, що 3dfx теж буде використовувати геометричний співпроцесор у парі зі своїм нової чипсетом Voodoo4. Однак на відміну від nVidia, що сама розробила геометричний акселератор, 3dfx буде використовувати геометричний співпроцесор IMPAC-GE від Mitsubishi (чи варіант цього процесора, тим більше, що Mitsubishi заявила про можливе виробництво декількох варіантів свого чипа). Помітимо, що чип IMPAC-GE розроблявся Mitsubishi спільно c Evans & Southerland. При цьому, якщо геометричний співпроцесор від nVidia буде інтегрований у чип NV10, те геометричний співпроцесор IMPAC-GE від Mitsubishi буде зовнішнім. Цікавою особливістю чипа IMPAC-GE є можливість його перепрограмування, тобто зміни мікрокоду, що забезпечує гарну масштабованість і баланс розподілу навантаження між CPU і геометричним акселератором. До речі, Mitsubishi давно займається розробкою різних рішень в області професійної графіки, досить згадати про давнє співробітництво Mitsubishi з компанією Evans & Southerland чи недавній анонс спеціалізованого процесора і карти на його основі для роботи з Volume Graphics (об'єкти мають не тільки поверхня і границі, але і внутрішню структуру). Інше питання, чи удасться 3dfx налагодити злагоджену роботу свого чипсета Voodoo4 і геометричний акселератори від Mitsubishi. До слова, геометричні акселератори роблять компанії 3Dlabs і Fujitsu Microelectronics, причому, якщо перша навряд чи буде продавати свої чипы третім компаніям, те друга, імовірно, не відмовиться від такої можливості.
Безсумнівно те, що важливу роль у просуванні чипов геометричних акселераторів на великий ринок споживчих систем зіграла корпорація Microsoft. Справа в тім, що у вихідний у серпні цього року пакет інтерфейсів Direct 7.0 увійде версія Direct3D з підтримкою апаратної реалізації Transformation and Lighting. Можна затверджувати, що будь-яку технологію, що одержала благословення Microsoft, чекає успіх на ринку. Тим більше, що сама технологія цього заслуговує. От це, на наш погляд, ключовий момент, що пояснює, чому саме цього року зайшла мова про геометричні акселератори. Не секрет, що жодна, навіть сама передова і відмінна технологія нічого не коштує, якщо вона не використовується в додатках. До речі, та ж Mitsubishi заявила, що якби не схвалення Microsoft і не обіцянка включити підтримку T & L у Direct, ніяких робіт із прискореного просування на ринок геометричних акселераторів не був б ще довгий час. Отже, у серпні виходить Direct 7.0, у якому, зокрема, буде підтримка T & L. Це значить, що в розроблювачів додатків з'явиться можливість використовувати підтримку геометричних акселераторів у своїх майбутнім і вже створюваних додатках. Для масового ринку, на который будуть націлені NV10 і Voodoo4 це, звичайно ж, гри. Не буде ігор, що можуть використовувати можливості геометричних акселераторів, -і нікому нові відеокарти не будуть потрібні. Саме тому ми вважаємо, що ймовірною датою появи NV10 і Voodoo4 варто вважати все-таки кінець 1999 - початок 2000 року. Навіть якщо не буде проблем з дизайном і драйверами, квапитися з випуском карт виробникам нема рації. Восени додатків з підтримкою геометричних акселераторів точно не буде. До Різдва 1999 є імовірність появи пари ігор і декількох демо. Єдине, що може прискорити появу нових карт на ринку, це нетерплячість одного з конкурентів. Причому, ми схиляємося до того, що саме 3dfx може форсувати ситуацію, щоб залучити до себе увага, як до першої компанії, що зробила відеоакселератор з підтримкою геометричного співпроцесора (для непрофесійного застосування) і запропонувавшій готовий продукт на ринок. Але, можливо, розсудливість візьме верх, і обоє конкурента дочекаються хоча б Різдва.
Що таке геометрична акселерація?
Для того, щоб зрозуміти принципи роботи геометричних акселераторів, необхідно мати базові поняття про 3D графічному конвеєрі (3D graphics pipeline). Терміном "3D графічний конвеєр" називають різні стадії, через які повинні пройти дані, генеровані додатком для того, щоб у результаті на 2D моніторі відобразилася 3D графіка. Весь процес складається з двох різних етапів: етап геометричних перетворень і етап рендеринга, тобто візуалізації. Кожен етап складається з декількох чи кроків стадій.
Першим є геометричний етап (geometry stage), у процесі виконання якого виробляються математичні обчислення над речовинними числами (із крапкою, що плаває,), а отримані дані описують полігони - звичайно трикутники, що розташовуються певним чином, створюючи в нас відчуття, що ми бачимо 3D об'єкти на 2D моніторі. Проте, ці фігури не мають нічого загального з реальністю, тому що вони не мають кольори і взагалі нічого, крім форми трикутників. Процес взаєморозположення полігонів може містити в собі процедури чи вирізання відбраковування полігонів, що не попадають у поле зору користувача, а головне -і відбувається трансформація координат (transformation). Перетворення координат необхідно через те, що в тривимірному просторі, у просторі кадрового буфера і на екрані монітора використовуються різні системи координат.
Потім виробляються обчислення, у результаті яких визначаються характеристики освітленості сцени, включаючи визначення того, чи є світло від джерела висвітлення що розсіюється чи спрямованим, з урахуванням таких параметрів освітлюваних поверхонь, як чи поглинання відображення світла, обчислюється відстань від джерела (джерел) світла до освітлюваного об'єкта. Також відбувається поділ даних про відстані і спрямованість для зручності їхнього подальшого використання. На останній стадії геометричного етапу виробляються обчислення, у результаті яких визначається те, як будуть виглядати полігони у всіх трьох вимірах, і отримані дані зберігаються для використання на етапі рендеринга. Проходження всіх етапів геометричного конвеєра залежить від максимального використання всієї доступної обчислювальної потужності і повинне відбуватися з найменшими затримками, наскільки це можливо. Широке використання буферів FIFO (First In First Out, тобто першими обробляються ті дані, що раніш надійшли) забезпечує безперервність роботи, тобто жоден із кроків конвеєра не може викликати простою на інших кроках конвеєра. Для того, щоб етап геометричних обчислень не став вузьким місцем 3D графічні конвеєри необхідно використовувати процесор з могутнім блоком операцій з речовинними числами (FPU, Floating Point Unit). До речі, саме через слабку продуктивність FPU у процесорів K6-2/K6-III від AMD ігри, що не використовують набір 3DNow! виконуються повільніше, ніж на системах із процесорами від Intel. Не виключене, що поява 3D акселераторів зі спеціалізованим геометричним співпроцесором послужить гарну службу усім власникам систем на базі процесорів від AMD. Справа в тім, що при операціях з цілими числами процесори K6-2/K6-III продуктивніше, ніж процесори від Intel при порівнянних робочих частотах, а убудований у процесори блок FPU більше не буде критично важливою ланкою в іграх. Ресурси, що вивільнилися, можна буде задіяти і на інші мети, крім розрахунку геометрії, у будь-якому випадку -і час покаже.
Другим є етап рендеринга (rendering stage), у процесі якого інформація про полігони перетвориться в інформацію про пикселях для відображення на екрані монітора. Цей процес може містити в собі такі процедури, як затінення (shading), текстурирование і застосування спеціальних ефектів до даних про полігони, отриманих після завершення геометричного етапу конвеєра. Помітимо, що при використанні акселератора геометрії ресурси, що вивільняються, CPU можна використовувати, наприклад, для реалізації більш прогресивних технік затінення, таких, як затінення Фонга. Зараз цей тип затінення практично не застосовується саме через недостачу обчислювальних потужностей. Усі ці обчислення завершують формування зображення, генерація якого відбулася на геометричному етапі, забезпечуючи йому високий рівень реалізму. На відміну від геометричного етапу, що залежить від обчислювальної потужності процесора, що виконує всі обчислення, етап рендеринга інтенсивно використовує ресурси пам'яті, тобто прямо залежить від того, скільки у вас мається доступної для використання пам'яті (текстурних буферів). До слова, поява AGP було зв'язано насамперед з тим, що проблема обмежених обсягів локальної відеопам'яті була вирішена розширенням їхній за рахунок системної пам'яті комп'ютера. Правда, вартість локальної пам'яті настільки упала, що сучасні відеоакселератори мають її стільки ж, скільки мали системної пам'яті могутні комп'ютери тих часів.
Після завершення обох етапів 3D графічні конвеєри отримані в результаті дані можуть бути відображені на екрані монітора. Хоча все це виглядає досить довгою і складною процедурою, але процес одержання даних для кожного пикселя, відображуваного на екрані, відбувається дуже швидко. Для цього потрібно період часу менший, чим одна секунда. Коли ми говоримо про частоту зміни кадрів у грі (frame rate), те, насправді, мова йде про величину, що показує, як багато разів у секунду кожен виведений на екран кадр зображення обновляється після обробки даних на етапах 3D графічні конвеєри (геометричному і рендеринга) протягом кожної секунди.