Рендеринг


Рéндеринг, комп'ютерна візуалізація (Шаблон:Lang-en — візуалізація, проявлення, відмальовування, подання) — в комп'ютерній графіці — це процес отримання зображення за моделлю з допомогою комп'ютерної програми. Тут модель — це опис тривимірних об'єктів (3D, 3Д) певною мовою програмування і у вигляді структури даних. Такий опис може містити геометричні дані, положення точки спостерігача, інформацію про освітлення. А зображення — це цифрове растрове зображення.
Слово рендеринг в Україні вживають для вказування процесу візуалізації, що виконується за допомогою програмного забезпечення, а рендер — для позначення готового зображення, тобто як синоніми до словосполучень: комп'ютерна візуалізація — комп'ютерний рендеринг, візуалізований об'єкт — рендер[1].
Комп'ютерна візуалізація — один з найважливіших розділів в комп'ютерній графіці, і на практиці він найтіснішим чином пов'язаний з іншими. Для візуалізації створюються самостійні програмні пакети — рендери, поряд із інтеграцією їх з програмами тривимірного моделювання, анімації, відеомонтажу, 2D малювання та фоторедагування.
Різновиди комп'ютерної візуалізації

Наступні різновиди комп'ютерної візуалізації створені через велику різноманітність сфери її застосувань:
- фотореалістична візуалізація;
- нефотореалістична візуалізація;
Ці різновиди отримуються за допомогою використання одного чи скупності наступних методів:
- High Dynamic Range Rendering (високодинамічне відображення діапазону);
- Алгоритм «Scanline»;
- Об'ємний рендеринг (Шаблон:Lang-en);
- Z-буферизація;
- та ін.
Залежно від мети, розрізняють пре-рендеринг, як досить повільний процес візуалізації, що застосовується в основному при створенні відео, і рендеринг у режимі реального часу, застосовуваний у комп'ютерних іграх, при створенні доповненої[2] або віртуальної реальностей.
Особливості рендерингу
Зображення — результат рендерингу може бути описане як набір певних візуальних особливостей, що відповідають справжнім фізичним явищам, властивостям об'єкту. Дослідження та розробки у області рендерингу продовжують шукати найкращі шляхи для більш кращої та ефективної їх симуляції. Деякі з цих особливостей можуть бути прив'язані до конкретного алгоритму або методу, інші ж являти їх сукупність.
- текстурна карта (Шаблон:Lang-en) — спосіб нанесення на поверхню матеріалу;
- шейдинг (Шаблон:Lang-en) — визначає, як колір і яскравість поверхні змінюється в залежності від освітлення (справжній фізичний відповідник альбедо);
- відображення (Шаблон:Lang-en) — дзеркальне або глянцеве відображення;
- глибина різкості (Шаблон:Lang-en) — об'єкти здаються розмитими або не в фокусі, якщо вони знаходяться занадто далеко попереду або позаду об'єкта у фокусі;
- дифракція (Шаблон:Lang-en) — визначає вигин, поширення та інтерференцію світла, що проходить поблизу границі об'єкта, або крізь вузьку діафрагму;
- заломлення (Шаблон:Lang-en) — вигин світла, пов'язаний з коефіцієнтом заломлення матеріалів;
- рельєфне текстурування (Шаблон:Lang-en) — метод імітації дрібних нерівностей на поверхні;
- каустика (форма непрямого освітлення) (Шаблон:Lang-en) — відбиття світла від блискучого об'єкта, або фокусування світла через прозорий об'єкт, для отримання яскравих відблисків на інший об'єкт;
- м'які тіні (Шаблон:Lang-en) — ефект перешкод, що частково приховують джерела світла;
- непряме освітлення (Шаблон:Lang-en) — визначає кількість світла, відбитого від інших поверхонь, а не безпосередньо від джерела світла (також відоме як глобальне освітлення);
- нефотореалістична візуалізація (Шаблон:Lang-en) — рендеринг сцен в художньому стилі, призначена, щоб виглядати як картина або малюнок.
- прозорість (оптика)(Шаблон:Lang-en), прозорість (графіка)(Шаблон:Lang-en) або непрозорість(Шаблон:Lang-en) — визначає передачу світла крізь тверді неповністю прозорі об'єкти, прозорість (Шаблон:Lang-en) — передача світла крізь прозорі об'єкти;
- тінь (Шаблон:Lang-en) — ефект перешкод для світла;
- ефект туману (Шаблон:Lang-en) — як світло проходить через нечисту атмосферу або туман;
- розмиття в русі (Шаблон:Lang-en) — об'єкти здаються розмитими через високу швидкість руху об'єкта або камери.
Методи рендерингу (візуалізації)
На сьогодні розроблено безліч алгоритмів візуалізації, а існуюче програмне забезпечення може використовувати сукупно декілька алгоритмів для отримання кінцевого зображення.
Трасування всіх променів світла в сцені непрактичне і займає занадто довгий час. Навіть трасування малої кількості променів, достатнього для того, щоб отримати зображення, займає надто багато часу, якщо не застосовується апроксимація.
Внаслідок цього було розроблено чотири групи методів, більш ефективних, ніж моделювання всіх променів світла, що освітлюють сцену:
- Растеризація (Шаблон:Lang-en) спільно з методом сканування рядків. Візуалізація проводиться проєкціюванням об'єктів сцени на екран без розгляду ефекту перспективи відносно спостерігача.
- Ray casting (метод кидання променів) (Шаблон:Lang-en). Сцена розглядається, як така, що спостерігається з певної точки. З точки спостереження на об'єкти сцени направляються промені, за допомогою яких визначається колір пікселя на двовимірному екрані. При цьому промені припиняють своє поширення (на відміну від методу зворотного трасування), коли досягають будь-якого об'єкта сцени або її фону. Можливе використання будь-яких дуже простих способів додавання оптичних ефектів. Ефект перспективи отримується природним чином, якщо промені надходять під кутом, що залежить від положення пікселя на екрані і максимального кута об'єктиву камери.
- Трасування променів (Шаблон:Lang-en) схожа на метод кидання променів. З точки спостереження на об'єкти сцени направляються промені, за допомогою яких визначається колір пікселя на двовимірному екрані. Але при цьому промінь не припиняє своє поширення, а розділяється на три променя, кожен з яких вносить свій внесок в колір пікселя на двовимірному екрані: відбитий, тіньовий і заломлений. Кількість таких поділів на компоненти визначає глибину трасування та впливає на якість і фотореалістичність зображення. Завдяки своїм концептуальним особливостям, метод дозволяє отримати дуже фотореалістичні зображення, але при цьому він дуже ресурсозатратний, і процес візуалізації займає значні періоди часу.
- Трасування шляху (Шаблон:Lang-en) містить схожий принцип трасування променів, що поширюються, однак цей метод є найбільш наближеним до фізичних законів поширення світла. Відповідно, він є найбільш ресурсозатратним.
Передове програмне забезпечення зазвичай поєднує в собі декілька технік, щоб отримати достатньо якісне і фотореалістичне зображення при прийнятних витратах обчислювальних ресурсів.
Математичне обґрунтування
Реалізація механізму рендерингу завжди ґрунтується на фізичній моделі. Обчислення, що виконуються, відносяться до тієї чи іншої фізичної або абстрактної моделі. Головні ідеї прості для розуміння, але складні для застосування. Як правило, кінцеве елегантне рішення або алгоритм більш складні і містять в собі комбінацію різних методів.[3]
Головне рівняння
Шаблон:Main Ключем до теоретичного обґрунтування моделей рендерингу служить рівняння рендерингу. Воно є найбільш повним формальним описом частини рендерингу, що не відноситься до сприйняття кінцевого зображення. Всі моделі являють собою яке-небудь наближене рішення цього рівняння.
Неформальне тлумачення: кількість світлового випромінювання (Lo), що виходить з певної точки в певному напрямку є власне випромінювання і відбите випромінювання. Відбите випромінювання є добуток суми по всіх напрямах випромінювання, що надходить (Li), та коефіцієнту відбиття з даного кута. Об'єднуючи в одному рівнянні світло, яке надходить, з тим, що випромінюється, в одній точці, це рівняння формує опис усього світлового потоку в заданій системі.
Хронологія створення важливих засобів візуалізації
- 1968 Кидання променів — (Шаблон:Lang-en)[4]
- 1970 Алгоритм Scanline (Шаблон:Lang-en) — алгоритм визначення видимої поверхні[5]
- 1971 Затемнення за Гуро (Шаблон:Lang-en) — інтерполяційний метод безперервної заливки поверхонь, представленої сітки полігонів[6]
- 1974 Текстура (текстурна карта) — (Шаблон:Lang-en)[7]
- 1974 Z-буферизація (англ. Z-buffering)[7]
- 1975 Затемнення за Фонгом (Шаблон:Lang-en)[8]
- 1976 Карта відображення (Шаблон:Lang-en)[9]
- 1977 Об'ємна тінь — (Шаблон:Lang-en)[10]
- 1978 Shadow buffer[11]
- 1978 Карта тіней — (Шаблон:Lang-en)
- 1978 Bump mapping[12]
- 1980 Двійкове розбивання простору (Шаблон:Lang-en)[13]
- 1980 Трасування променів (Шаблон:Lang-en)[14]
- 1981 Cook shader[15]
- 1983 MIP-текстурування (Шаблон:Lang-en)[16]
- 1984 Дерево октантів (Шаблон:Lang-en)[17]
- 1984 Альфа-композитинг (Шаблон:Lang-en)[18]
- 1984 Розподілене трасування променів (англ.Distributed ray tracing)[19]
- 1984 Radiosity[20]
- 1985 Hemicube[21]
- 1986 Light source tracing[22]
- 1986 Рівняння рендерингу (Шаблон:Lang-en)[23]
- 1987 Reyes rendering[24]
- 1991 Hierarchical radiosity[25]
- 1993 Тональне відображення (англ.Tone mapping)[26]
- 1993 Підповерхневе розсіювання (англ.Subsurface scattering)[27]
- 1995 Метод фотонних карт (англ.Photon mapping)[28]
- 1997 Metropolis light transport[29]
- 1997 Instant Radiosity[30]
- 2002 Попередньо обчислювана передача сяйва (англ.Precomputed Radiance Transfer)[3]
Програмне забезпечення для рендерингу — рендери (візуалізатори)
Bised-рендери
Bised-рендери — рендери, які працюють покроково в обрахунку «фізичних» властивостей (або наближені до цього режиму). Більшість із властивостей можна безпосередньо змінити в налаштуваннях візуалізатора, отже він заснований не на правдивому описі фізичних процесів, а на власних допущеннях, які намагаються створити враження реальних.
Bised-рендери технічно поділяються на: Bised-рендери CPU — рендери, які для обчислення використовують тільки центральний процесор; Bised-рендери GPU — рендери, як для обчислення використовують тільки графічний процесор — відеокарту.
- 3Delight — запатентований RenderMan-рендерер;
- AIR;
- Angel;
- AQSIS — безкоштовний та відкритий з стандартом RenderMan;
- ART;
- Artlantis (Render, Studio) — (CPU) нефотореалістичний рушій 3D рендерингу;
- BMRT (Blue Moon Rendering Tools) — (CPU), (поширення зупинено);
- Brazil R/S;
- BusyRay;
- Entropy — (CPU), (продаж зупинено);
- finalRender;
- Freestyle — вільний (ліцензія GPL) нефотореалістичний рушій 3D-вимальовування[31];
- Gelato (розробка зупинена у зв'язку з покупкою NVIDIA, mental ray);
- Holomatix Renditio (інтерактивний рейтрейсер);
- Hypershot;
- Kerkythea — безкоштовна рендерингова система, що підтримує трасування променів. Може інтегруватися з 3ds Max, Blender, SketchUp, та Silo. Kerkythea — це автономний рендерер, що використовує фізично точні матеріали та освітлення;
- Keyshot;
- Mantra renderer — (CPU);
- mental ray — (CPU);
- Meridian;
- Pixie — фотореалістичний рендерер з відкритим кодом;
- POV-Ray;
- RenderDotC;
- RenderMan (PhotoRealistic RenderMan, Pixar's RenderMan або PRMan) — (CPU);
- Substance Designer;
- Sunflow — фотореалістичний рендерер, написаний на Java;
- Turtle;
- V-Ray — (CPU);
- YafaRay — рендерер, розроблений в LGPL. Більше не підтримується.
Unbised-рендери
Unbised-рендер — рендери «без налаштувань», які працюють в режимі реального часу (або наближені до цього режиму). В їх основу розробники закладають формули для розрахунку поводження денного світла та ін. максимально наближені до реальності (описують фізичні закони, які проходять в природі: генерування світла, падіння його на поверхню, заломлення, відображення, поглинання). Незважаючи на численні переваги, які дає фізична парадигма, час, необхідний для отримання якісного результату, зазвичай у багато разів перевищує аналогічний показник для не фізичних систем візуалізації (bised-рендерів). Тому для зручної роботи слід використовувати багатоядерні і багатопроцесорні конфігурації комп'ютерів.
Unbised-рендер технічно поділяються на: Unbised-рендери CPU — рендери, які для обчислення використовують тільки центральний процесор; Unbised-рендери GPU — рендери, як для обчислення використовують тільки графічний процесор — відеокарту; Biased + unbised-рендери CPU+GPU — рендери, які для обчислення використовують сукупно, як центральний процесор так і графічний.
- Arion Render — (GPU);
- Arion — (CPU) ;
- Arnold — (CPU);
- Artlantis (Render, Studio) (з вибором в налаштуваннях активного двигуна візуалізації — Maxwell Render) — (CPU);
- Brazil IR — (CPU);
- Corona render — (CPU);
- Cycles Render — (CPU);
- FinalRender — (CPU);
- Fryrender — (CPU);
- Indigo — (CPU);
- IndigoRT — (GPU);
- iRay — (CPU);
- Lumion — (GPU) real-time рендер; нефотореалістичний двигун 3D рендерингу;
- LuxRender — (CPU);
- Maxwell Render — (CPU);
- Octane Render — (GPU);
- Rendition — (CPU);
- Shaderlight — (CPU);
- Showcase — (CPU);
- SmallLuxGPU — (GPU);
- Thea Presto — (CPU+GPU);
- Thea — (CPU+GPU);
- Twinmotion — (GPU) real-time рендер; нефотореалістичний двигун 3D рендерингу;
- VrayRT — (CPU, GPU).
Пакети тривимірного моделювання, що мають власні рендерери
- Blender;
- Realsoft 3D;
- SketchUp;
- Terragen;
- Autodesk 3ds MAX (Scanline);
- Autodesk Maya (Maya Software, Maya Hardware, Maya Vector);
- Daz3D Bryce;
- e-on Software Vue;
- Luxology Modo;
- Maxon Cinema 4D (Advanced Render);
- NewTek LightWave 3D;
- SideFX Houdini;
- та ін.
Всесвітньо відомі студії комп'ютерної візуалізації
Див. також
- Моделювання та рендеринг на основі зображень
- Рендер-ферма
- Текстура (тривимірна графіка)
- Шейдер
- Оклюзія
- Композитинг
- Чайник Юта
- Програмне забезпечення для комп'ютерної 3D-графіки
Примітки
Джерела
Література
- Шаблон:Cite book
- Шаблон:Cite book
- Шаблон:Cite book
- Шаблон:Cite book
- Шаблон:Cite book
- Шаблон:Cite book
- Шаблон:Cite book
- Шаблон:Cite book
- Шаблон:Cite book
- Шаблон:Cite book
- Шаблон:Cite book
- Шаблон:Cite book
- Description of the 'Radiance' system
Посилання
- SIGGRAPH Спеціальна група за інтересами ACMs у графіці — найбільша академічна та професійна асоціація.
Шаблон:Системи рендерингу Шаблон:Інформатика Шаблон:Cg-stub Шаблон:Бібліоінформація
- ↑ https://repository.kpi.kharkov.ua/server/api/core/bitstreams/19a181f5-9306-4cb9-82ac-c8c2d7eff3c9/content
- ↑ Щегельська Ю. П. Способи активації двовимірних систем AR-рендерінгу в практиці промоційних комунікацій.//Технологія і техніка друкарства, № 1(71), 2021. — C. 90 — 97. [1]
- ↑ 3,0 3,1 Шаблон:Cite conference
- ↑ Шаблон:Cite conference
- ↑ Шаблон:Cite journal
- ↑ Шаблон:Cite journal
- ↑ 7,0 7,1 Шаблон:Cite thesis
- ↑ Шаблон:Cite journal
- ↑ Шаблон:Cite journal
- ↑ Шаблон:Cite conference
- ↑ Шаблон:Cite conference
- ↑ Шаблон:Cite conference
- ↑ Шаблон:Cite conference
- ↑ Шаблон:Cite journal
- ↑ Шаблон:Cite conference
- ↑ Шаблон:Cite conference
- ↑ Шаблон:Cite journal
- ↑ Шаблон:Cite conference
- ↑ Шаблон:Cite conferenceШаблон:Недоступне посилання
- ↑ Шаблон:Cite conference
- ↑ Шаблон:Cite conference
- ↑ Шаблон:Cite conference
- ↑ Шаблон:Cite conference
- ↑ Шаблон:Cite conference
- ↑ Шаблон:Cite conference
- ↑ Шаблон:Cite journal
- ↑ Шаблон:Cite conference
- ↑ Шаблон:Cite journal
- ↑ Шаблон:Cite conference
- ↑ Шаблон:Cite conference
- ↑ http://freestyle.sourceforge.net/ Сайт рушія вимальовування FreestyleШаблон:Ref-en