Технології побудови тривимірного зображення. СПК

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук

Тривимірна графіка (3D Graphics, Три виміри зображення, 3 Dimensions) - розділ комп'ютерної графіки, сукупність прийомів та інструментів (як програмних, так і апаратних), призначених для зображення об'ємних об'єктів. Найбільше застосовується для створення зображень на площині екрану або листа друкованої продукції в архітектурної візуалізації, кінематографі, телебаченні, комп'ютерних іграх, друкованої продукції, а також в науці і промисловості.

Для отримання тривимірного зображення на площині потрібні наступні кроки:

     •	моделювання - створення тривимірної математичної моделі сцени і об'єктів в ній.
     •	рендеринг (візуалізація) - побудова проекції відповідно до обраної фізичною моделлю.
     •	висновок отриманого зображення на пристрій виведення - дисплей або принтер.

Схема проектування сцени на екран комп'ютера Однак, у зв'язку зі спробами створення 3D-дисплеїв і 3D-принтерів, тривимірна графіка не обов'язково включає в себе проектування на площину.

==Моделювання==

Сцена (віртуальний простір моделювання) включає в себе кілька категорій об'єктів:

     •	Геометрія;
     •	Матеріали;
     •	Джерела світла;
     •	Віртуальні камери;
     •	Сили і впливу;
     •	Додаткові ефекти;

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

==Рендеринг==

На цьому етапі математична (векторна) просторова модель перетворюється на плоску (растрову) картинку. Якщо потрібно створити фільм, то рендерится послідовність таких картинок - кадрів. Як структура даних, зображення на екрані представлено матрицею пікселів, де кожна точка визначена принаймні трьома числами: інтенсивністю червоного, синього і зеленого кольору. Таким чином рендеринг перетворить тривимірну векторну структуру даних в плоску матрицю пікселів.

Існує декілька технологій візуалізації, часто комбінованих разом. Наприклад:

     •	Z-буфер (використовується в OpenGL і DirectX 10);
     •	Сканлайн (scanline) - він же Ray casting ("кидання променя", спрощений алгоритм зворотного трасування променів) - розрахунок кольору кожної точки картинки побудовою променя з точки зору спостерігача через уявне отвір в екрані на місці цього пікселя "в сцену" до перетину з першою поверхнею. Колір пікселя буде таким же, як колір цієї поверхні (іноді з урахуванням освітлення і т. д.);
     •	Трасування променів (рейтрейсінг, англ. raytracing ) - Те саме, що і сканлайн, але колір пікселя уточнюється за рахунок побудови додаткових променів (відображення, заломлення і т. д.) від точки перетину променя погляду. Незважаючи на назву, застосовується тільки зворотній трасування променів (тобто саме від спостерігача до джерела світла), пряма вкрай неефективна і споживає занадто багато ресурсів для отримання якісної картинки;
     •	Глобальне освітлення ( англ. global illumination , Radiosity) - розрахунок взаємодії поверхонь і середовищ у видимому спектрі випромінювання за допомогою інтегральних рівнянь.


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

Програмне забезпечення

Програмні пакети, що дозволяють створювати тривимірну графіку, тобто моделювати об'єкти віртуальної реальності і створювати на основі цих моделей зображення, дуже різноманітні. Останні роки стійкими лідерами в цій галузі є комерційні продукти: такі як 3D Studio Max, Maya, Lightwave 3D, Softimage, Sidefx Houdini, Maxon Cinema 4D і порівняно нові Rhinoceros 3D, Nevercenter Silo або ZBrush. Крім того, існують і відкриті продукти, поширювані вільно, наприклад, пакет Blender (дозволяє створювати 3D моделі, c подальшим рендерингом (комп'ютерної візуалізацією)), K-3D і Wings3D.