Технології побудови тривимірного зображення. СПК
Тривимірна графіка (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.