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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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