Тривимірне зображення на площині відрізняється від двовимірного тим,
що включає побудову геометричної проекції тривимірної моделі(сцени) на площину
(наприклад, екран комп'ютера) за допомогою спеціалізованих
програм. При цьому модель може як відповідати об'єктам з реального світу автомобілі, будівлі, ураган, астероїд), так і бути повністю абстрактною (проекція
чотиривимірного фрактала).
Для одержання тривимірного
зображення на площині потрібні такі кроки:
·
Моделювання — створення тривимірної математичної моделі
сцени і об'єктів в ній.
·
Рендеринг (візуалізація) —
побудова проекції відповідно до обраної
фізичної моделі.
·
Виведення отриманого
зображення на пристрій виведення — дисплей або принтер.
Однак, у зв'язку зі спробами створення 3D-дисплеїв і 3D-принтерів, тривимірна графіка не обов'язково включає в себе
проектування на площину.
Моделювання
Сцена (віртуальний простір моделювання) включає в себе
кілька категорій об'єктів:
·
Геометрія
(побудована за допомогою різних технік модель, наприклад будівля)
·
Матеріали
(інформація про візуальні властивості моделі, наприклад колір стін і відбиває /
заломлююча здатність вікон)
·
Джерела світла
(налаштування напрямки, потужності, спектра освітлення)
·
Віртуальні камери (вибір
точки та кута побудови проекції)
·
Сили та дії
(налаштування динамічних спотворень об'єктів, застосовується в основному в
анімації)
·
Додаткові ефекти
(об'єкти, що імітують атмосферні явища: світло у тумані, хмари, полум'я і пр.)
Рендеринг
На цьому етапі математична (векторна) просторова модель перетворюється на пласку (растрову) картинку. Якщо потрібно створити фільм, то рендериться послідовність таких картинок — кадрів. Як структура даних, зображення на екрані представлено матрицею точок, де кожна точка визначена принаймні трьома числами: інтенсивністю червоного, синього і зеленого кольору. Таким чином рендеринг перетворює тривимірну векторну структуру даних у плоску матрицю пікселів. Цей крок часто вимагає дуже складних обчислень, особливо коли потрібно створити ілюзію реальності.
Найпростіший вид
рендеринга — це побудувати контури моделей на екрані комп'ютера за
допомогою проекції. Звичайно цього недостатньо і потрібно створити ілюзію
матеріалів, з яких виготовлені об'єкти, а також розрахувати спотворення цих
об'єктів за рахунок прозорих середовищ (наприклад, рідини в склянці).
Існує декілька технологій візуалізації, часто
комбінованих разом. Наприклад:
- ·
Z-буфер (використовується в OpenGL і DirectX 10);
- ·
Сканлайн (scanline) —
він же Ray casting («кидання променя», спрощений
алгоритм зворотного трасування променів) — розрахунок кольору кожної точки
картинки побудовою променя з точки зору спостерігача через уявне отвір в екрані
на місці цього пікселя "в сцену "до перетину з першою поверхнею.
Колір пікселя буде таким же, як колір цієї поверхні (іноді з урахуванням
освітлення і т. д.);
- ·
Трасування променів (рейтрейсінг, англ. raytracing) — те ж, що і сканлайн, але колір пікселя
уточнюється за рахунок побудови додаткових променів (відображених, заломлених
і т. д.) від точки перетину променя погляду. Незважаючи на назву,
застосовується тільки зворотний трасування променів (тобто саме від
спостерігача до джерела світла), пряма вкрай неефективна і споживає занадто
багато ресурсів для отримання якісної картинки;
·
Глобальне освітлення (англ. global illumination, radiosity) —
розрахунок взаємодії поверхонь і середовищ у видимому спектрі випромінювання за
допомогою інтегральних рівнянь.
Грань між алгоритмами трасування променів в наш час практично
стерлася. Так, в 3D Studio Max стандартний візуалізатор
називається Default scanline renderer, але він вважає не лише внесок дифузного,
відбитого та власного (кольори самосвітіння) світла, але і згладжені тіні. З
цієї причини, частіше поняття Raycasting відноситься до зворотної трасуванні
променів, а Raytracing — до прямої.
Найпопулярнішими системами рендеринга є:
·
PhotoRealistic RenderMan (PRMan)
·
V-Ray
·
Corona Renderer
·
BusyRay
·
Turtle
·
Indigo Renderer
·
YafaRay
·
POV-Ray
Запитання для самоконтролю
1. Що таке тривимірна графіка ?
2. Чим відрізняється тривимірне зображення від двовимірного ?
3. Які кроки потрібно виконати, щоб створити тривимірне зображення ?
4. Які категорії об'єктів включає в себе сцена ?
5. В чому полягає завдання тривимірного моделювання ?
6. Що таке рендеринг ?

Комментариев нет:
Добавлять новые комментарии запрещено.