Рендеринг
На цьому етапі математична (векторна) просторова модель перетворюється на плоску (растрову) картинку. Якщо потрібно створити фільм, то рендериться послідовність таких картинок — кадрів. Як структура даних, зображення на екрані представлено матрицею точок, де кожна точка визначена принаймні трьома числами: інтенсивністю червоного, синього і зеленого кольору. Таким чином рендеринг перетворює тривимірну векторну структуру даних у плоску матрицю піксел ів. Цей крок часто вимагає дуже складних обчислень, особливо коли потрібно створити ілюзію реальності. Найпростіший вид рендеринга — це побудувати контури моделей на екрані комп'ютера за допомогою проекції, як показано вище. Звичайно цього недостатньо і потрібно створити ілюзію матеріалів, з яких виготовлені об'єкти, а також розрахувати спотворення цих об'єктів за рахунок прозорих середовищ (наприклад, рідини в склянці).
Існує декілька технологій візуалізації, часто комбінованих разом. Наприклад:
- Z-буфер (використовується в OpenGL і DirectX 10);
- Сканлайн (scanline) — він же Ray casting («кидання променя», спрощений алгоритм зворотного трасування променів) — розрахунок кольору кожної точки картинки побудовою променя з точки зору спостерігача через уявне отвір в екрані на місці цього пікселя "в сцену "до перетину з першою поверхнею. Колір пікселя буде таким же, як колір цієї поверхні (іноді з урахуванням освітлення і т. д.);
- Трасування променів (рейтрейсінг, англ. raytracing) — те ж, що і сканлайн, але колір пікселя уточнюється за рахунок побудови додаткових променів (відображених, заломлених і т. д.) від точки перетину променя погляду. Незважаючи на назву, застосовується тільки зворотний трасування променів (тобто саме від спостерігача до джерела світла), пряма вкрай неефективна і споживає занадто багато ресурсів для отримання якісної картинки;
- Глобальне освітлення (англ. global illumination,radiosity) — розрахунок взаємодії поверхонь і середовищ у видимому спектрі випромінювання за допомогою інтегральних рівнянь.
Грань між алгоритмами трасування променів в наш час[Коли?] практично стерлася. Так, в 3D Studio Max стандартний візуалізатор називається Default scanline renderer, але він вважає не лише внесок дифузного, відбитого та власного (кольори самосвеченія) світла, але і згладжені тіні. З цієї причини, частіше поняття Raycasting відноситься до зворотної трасуванні променів, а Raytracing — до прямої.
Найпопулярнішими системами рендеринга є:
- PhotoRealistic RenderMan (PRMan)
- Mental ray
- V-Ray
- FinalRender
- Brazil R / S
- BusyRay
- Turtle
- Maxwell Render
- Fryrender
- Indigo Renderer
- LuxRender
- YafaRay
- POV-Ray
Внаслідок великого обсягу однотипних обчислень рендеринг можна розбивати на потоки (распараллелівать). Тому для візуалізації вельми актуальне використання багатопроцесорних систем. Останнім часом активно ведеться розробка систем візуалізації використовують GPU замість CPU, і вже сьогодні їх ефективність для таких обчислень набагато вище. До таких систем відносяться:
- Refractive Software Octane Render
- AAA studio FurryBall
- RandomControl ARION (гібридна)
Багато виробників систем візуалізації для CPU також планують ввести підтримку GPU (LuxRender, YafaRay, mental images iray).
Найпередовіші досягнення та ідеї тривимірної графіки (і комп'ютерної графіки загалом) доповідаються і обговорюються на щорічному симпозіумі SIGGRAPH, традиційно проводиться в США.
Дякую за Увагу!!!
Немає коментарів:
Дописати коментар