Рендеринг
Рéндеринг, комп'ютерна візуалізація (англ. rendering — візуалізація, проявлення, відмальовування, подання) — в комп'ютерній графіці — це процес отримання зображення за моделлю з допомогою комп'ютерної програми. Тут модель — це опис тривимірних об'єктів (3D, 3Д) певною мовою програмування і у вигляді структури даних. Такий опис може містити геометричні дані, положення точки спостерігача, інформацію про освітлення. А зображення — це цифрове растрове зображення.
Слово рендеринг в Україні вживають для вказування процесу візуалізації, що виконується за допомогою програмного забезпечення, а рендер — для позначення готового зображення, тобто як синоніми до словосполучень: комп'ютерна візуалізація — комп'ютерний рендеринг, візуалізований об'єкт — рендер[1].
Комп'ютерна візуалізація — один з найважливіших розділів в комп'ютерній графіці, і на практиці він найтіснішим чином пов'язаний з іншими. Для візуалізації створюються самостійні програмні пакети — рендери, поряд із інтеграцією їх з програмами тривимірного моделювання, анімації, відеомонтажу, 2D малювання та фоторедагування.
Різновиди комп'ютерної візуалізації
ред.Наступні різновиди комп'ютерної візуалізації створені через велику різноманітність сфери її застосувань:
- фотореалістична візуалізація;
- нефотореалістична візуалізація;
Ці різновиди отримуються за допомогою використання одного чи скупності наступних методів:
- High Dynamic Range Rendering (високодинамічне відображення діапазону);
- Алгоритм «Scanline»;
- Об'ємний рендеринг (англ. volume rendering);
- Z-буферизація;
- та ін.
Залежно від мети, розрізняють пре-рендеринг, як досить повільний процес візуалізації, що застосовується в основному при створенні відео, і рендеринг у режимі реального часу, застосовуваний у комп'ютерних іграх, при створенні доповненої[2] або віртуальної реальностей.
Особливості рендерингу
ред.Зображення — результат рендерингу може бути описане як набір певних візуальних особливостей, що відповідають справжнім фізичним явищам, властивостям об'єкту. Дослідження та розробки у області рендерингу продовжують шукати найкращі шляхи для більш кращої та ефективної їх симуляції. Деякі з цих особливостей можуть бути прив'язані до конкретного алгоритму або методу, інші ж являти їх сукупність.
- текстурна карта (англ. texture-mapping) — спосіб нанесення на поверхню матеріалу;
- шейдинг (англ. shading) — визначає, як колір і яскравість поверхні змінюється в залежності від освітлення (справжній фізичний відповідник альбедо);
- відображення (англ. reflection[en]) — дзеркальне або глянцеве відображення;
- глибина різкості (англ. depth of field) — об'єкти здаються розмитими або не в фокусі, якщо вони знаходяться занадто далеко попереду або позаду об'єкта у фокусі;
- дифракція (англ. diffraction) — визначає вигин, поширення та інтерференцію світла, що проходить поблизу границі об'єкта, або крізь вузьку діафрагму;
- заломлення (англ. refraction) — вигин світла, пов'язаний з коефіцієнтом заломлення матеріалів;
- рельєфне текстурування (англ. bump-mapping) — метод імітації дрібних нерівностей на поверхні;
- каустика (форма непрямого освітлення) (англ. caustics) — відбиття світла від блискучого об'єкта, або фокусування світла через прозорий об'єкт, для отримання яскравих відблисків на інший об'єкт;
- м'які тіні (англ. soft shadows) — ефект перешкод, що частково приховують джерела світла;
- непряме освітлення (англ. indirect illumination) — визначає кількість світла, відбитого від інших поверхонь, а не безпосередньо від джерела світла (також відоме як глобальне освітлення);
- нефотореалістична візуалізація (англ. non-photorealistic rendering) — рендеринг сцен в художньому стилі, призначена, щоб виглядати як картина або малюнок.
- прозорість (оптика)(англ. transparency (optics)), прозорість (графіка)(англ. transparency (graphic)) або непрозорість(англ. opacity) — визначає передачу світла крізь тверді неповністю прозорі об'єкти, прозорість (англ. translucency) — передача світла крізь прозорі об'єкти;
- тінь (англ. shadow) — ефект перешкод для світла;
- ефект туману (англ. distance fog) — як світло проходить через нечисту атмосферу або туман;
- розмиття в русі (англ. Motion blur) — об'єкти здаються розмитими через високу швидкість руху об'єкта або камери.
Методи рендерингу (візуалізації)
ред.На сьогодні розроблено безліч алгоритмів візуалізації, а існуюче програмне забезпечення може використовувати сукупно декілька алгоритмів для отримання кінцевого зображення.
Трасування всіх променів світла в сцені непрактичне і займає занадто довгий час. Навіть трасування малої кількості променів, достатнього для того, щоб отримати зображення, займає надто багато часу, якщо не застосовується апроксимація.
Внаслідок цього було розроблено чотири групи методів, більш ефективних, ніж моделювання всіх променів світла, що освітлюють сцену:
- Растеризація (англ. rasterization) спільно з методом сканування рядків. Візуалізація проводиться проєкціюванням об'єктів сцени на екран без розгляду ефекту перспективи відносно спостерігача.
- Ray casting (метод кидання променів) (англ. ray casting). Сцена розглядається, як така, що спостерігається з певної точки. З точки спостереження на об'єкти сцени направляються промені, за допомогою яких визначається колір пікселя на двовимірному екрані. При цьому промені припиняють своє поширення (на відміну від методу зворотного трасування), коли досягають будь-якого об'єкта сцени або її фону. Можливе використання будь-яких дуже простих способів додавання оптичних ефектів. Ефект перспективи отримується природним чином, якщо промені надходять під кутом, що залежить від положення пікселя на екрані і максимального кута об'єктиву камери.
- Трасування променів (англ. ray tracing) схожа на метод кидання променів. З точки спостереження на об'єкти сцени направляються промені, за допомогою яких визначається колір пікселя на двовимірному екрані. Але при цьому промінь не припиняє своє поширення, а розділяється на три променя, кожен з яких вносить свій внесок в колір пікселя на двовимірному екрані: відбитий, тіньовий і заломлений. Кількість таких поділів на компоненти визначає глибину трасування та впливає на якість і фотореалістичність зображення. Завдяки своїм концептуальним особливостям, метод дозволяє отримати дуже фотореалістичні зображення, але при цьому він дуже ресурсозатратний, і процес візуалізації займає значні періоди часу.
- Трасування шляху (англ. path tracing) містить схожий принцип трасування променів, що поширюються, однак цей метод є найбільш наближеним до фізичних законів поширення світла. Відповідно, він є найбільш ресурсозатратним.
Передове програмне забезпечення зазвичай поєднує в собі декілька технік, щоб отримати достатньо якісне і фотореалістичне зображення при прийнятних витратах обчислювальних ресурсів.
Математичне обґрунтування
ред.Реалізація механізму рендерингу завжди ґрунтується на фізичній моделі. Обчислення, що виконуються, відносяться до тієї чи іншої фізичної або абстрактної моделі. Головні ідеї прості для розуміння, але складні для застосування. Як правило, кінцеве елегантне рішення або алгоритм більш складні і містять в собі комбінацію різних методів.[3]
Головне рівняння
ред.Ключем до теоретичного обґрунтування моделей рендерингу служить рівняння рендерингу. Воно є найбільш повним формальним описом частини рендерингу, що не відноситься до сприйняття кінцевого зображення. Всі моделі являють собою яке-небудь наближене рішення цього рівняння.
Неформальне тлумачення: кількість світлового випромінювання (Lo), що виходить з певної точки в певному напрямку є власне випромінювання і відбите випромінювання. Відбите випромінювання є добуток суми по всіх напрямах випромінювання, що надходить (Li), та коефіцієнту відбиття з даного кута. Об'єднуючи в одному рівнянні світло, яке надходить, з тим, що випромінюється, в одній точці, це рівняння формує опис усього світлового потоку в заданій системі.
Хронологія створення важливих засобів візуалізації
ред.- 1968 Кидання променів — (англ. Ray casting)[4]
- 1970 Алгоритм Scanline (англ. Scanline rendering) — алгоритм визначення видимої поверхні[5]
- 1971 Затемнення за Гуро (англ. Gouraud shading) — інтерполяційний метод безперервної заливки поверхонь, представленої сітки полігонів[6]
- 1974 Текстура (текстурна карта) — (англ. Texture mapping)[7]
- 1974 Z-буферизація (англ. Z-buffering)[7]
- 1975 Затемнення за Фонгом (англ. Phong shading)[8]
- 1976 Карта відображення (англ. Environment mapping)[9]
- 1977 Об'ємна тінь — (англ. Shadow volumes)[10]
- 1978 Shadow buffer[11]
- 1978 Карта тіней — (англ. Shadow mapping)
- 1978 Bump mapping[12]
- 1980 Двійкове розбивання простору (англ. BSP trees)[13]
- 1980 Трасування променів (англ. Ray tracing)[14]
- 1981 Cook shader[15]
- 1983 MIP-текстурування (англ. MIP maps)[16]
- 1984 Дерево октантів (англ. Octree ray tracing)[17]
- 1984 Альфа-композитинг (англ. Alpha compositing)[18]
- 1984 Розподілене трасування променів (англ.Distributed ray tracing)[19]
- 1984 Radiosity[20]
- 1985 Hemicube[21]
- 1986 Light source tracing[22]
- 1986 Рівняння рендерингу (англ. Rendering equation)[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).
Пакети тривимірного моделювання, що мають власні рендерери
ред.Всесвітньо відомі студії комп'ютерної візуалізації
ред.Див. також
ред.Примітки
ред.- ↑ The top image took about 1 second to render on a standard 2005 PC. The buttom image took about 3 minutes to render at that time.
Джерела
ред.- ↑ https://repository.kpi.kharkov.ua/server/api/core/bitstreams/19a181f5-9306-4cb9-82ac-c8c2d7eff3c9/content
- ↑ Щегельська Ю. П. Способи активації двовимірних систем AR-рендерінгу в практиці промоційних комунікацій.//Технологія і техніка друкарства, № 1(71), 2021. — C. 90 — 97. [1]
- ↑ а б Sloan, P.; Kautz, J.; Snyder, J. (2002). Precomputed Radiance Transfer for Real-Time Rendering in Dynamic, Low Frequency Lighting Environments (PDF). Computer Graphics (Proceedings of SIGGRAPH 2002). Т. 29. с. 527—536. Архів оригіналу (PDF) за 24 липня 2011. Процитовано 20 січня 2014.
- ↑ Appel, A. (1968). Some techniques for shading machine renderings of solids (PDF). Proceedings of the Spring Joint Computer Conference. Т. 32. с. 37—49.
- ↑ Bouknight, W. J. (1970). A procedure for generation of three-dimensional half-tone computer graphics presentations. Communications of the ACM. 13 (9): 527—536. doi:10.1145/362736.362739.
- ↑ Gouraud, H. (1971). Continuous shading of curved surfaces (PDF). IEEE Transactions on Computers. 20 (6): 623—629. Архів оригіналу (PDF) за 2 липня 2010. Процитовано 1 травня 2014.
- ↑ а б Catmull, E. (1974). A subdivision algorithm for computer display of curved surfaces (PDF) (Дипломна робота PhD). University of Utah. Архів оригіналу (PDF) за 14 листопада 2014. Процитовано 1 травня 2014.
- ↑ Phong, B-T (1975). Illumination for computer generated pictures (PDF). Communications of the ACM. 18 (6): 311—316. doi:10.1145/360825.360839. Архів оригіналу (PDF) за 16 січня 2015. Процитовано 1 травня 2014.
- ↑ Blinn, J.F.; Newell, M.E. (1976). Texture and reflection in computer generated images. Communications of the ACM. 19: 542—546. doi:10.1145/360349.360353. CiteSeerX: 10.1.1.87.8903.
- ↑ Crow, F.C. (1977). Shadow algorithms for computer graphics (PDF). Computer Graphics (Proceedings of SIGGRAPH 1977). Т. 11, № 2. с. 242—248. Архів оригіналу (PDF) за 13 січня 2012. Процитовано 1 травня 2014.
- ↑ Williams, L. (1978). Casting curved shadows on curved surfaces. Computer Graphics (Proceedings of SIGGRAPH 1978). Т. 12, № 3. с. 270—274. CiteSeerX: 10.1.1.134.8225.
- ↑ Blinn, J.F. (1978). Simulation of wrinkled surfaces (PDF). Computer Graphics (Proceedings of SIGGRAPH 1978). Т. 12, № 3. с. 286—292.
- ↑ Fuchs, H.; Kedem, Z.M.; Naylor, B.F. (1980). On visible surface generation by a priori tree structures. Computer Graphics (Proceedings of SIGGRAPH 1980). Т. 14, № 3. с. 124—133. CiteSeerX: 10.1.1.112.4406.
- ↑ Whitted, T. (1980). An improved illumination model for shaded display. Communications of the ACM. 23 (6): 343—349. doi:10.1145/358876.358882. CiteSeerX: 10.1.1.114.7629.
- ↑ Cook, R.L.; Torrance, K.E. (1981). A reflectance model for computer graphics. Computer Graphics (Proceedings of SIGGRAPH 1981). Т. 15, № 3. с. 307—316. CiteSeerX: 10.1.1.88.7796.
- ↑ Williams, L. (1983). Pyramidal parametrics. Computer Graphics (Proceedings of SIGGRAPH 1983). Т. 17, № 3. с. 1—11. CiteSeerX: 10.1.1.163.6298.
- ↑ Glassner, A.S. (1984). Space subdivision for fast ray tracing. IEEE Computer Graphics & Applications. 4 (10): 15—22. doi:10.1109/mcg.1984.6429331.
- ↑ Porter, T.; Duff, T. (1984). Compositing digital images (PDF). Computer Graphics (Proceedings of SIGGRAPH 1984). Т. 18, № 3. с. 253—259.
- ↑ Cook, R.L.; Porter, T.; Carpenter, L. (1984). Distributed ray tracing (PDF). Computer Graphics (Proceedings of SIGGRAPH 1984). Т. 18, № 3. с. 137—145.[недоступне посилання з квітня 2019]
- ↑ Goral, C.; Torrance, K.E.; Greenberg, D.P.; Battaile, B. (1984). Modeling the interaction of light between diffuse surfaces. Computer Graphics (Proceedings of SIGGRAPH 1984). Т. 18, № 3. с. 213—222. CiteSeerX: 10.1.1.112.356.
- ↑ Cohen, M.F.; Greenberg, D.P. (1985). The hemi-cube: a radiosity solution for complex environments (PDF). Computer Graphics (Proceedings of SIGGRAPH 1985). Т. 19, № 3. с. 31—40. doi:10.1145/325165.325171.
- ↑ Arvo, J. (1986). Backward ray tracing. SIGGRAPH 1986 Developments in Ray Tracing course notes. CiteSeerX: 10.1.1.31.581.
- ↑ Kajiya, J. (1986). The rendering equation. Computer Graphics (Proceedings of SIGGRAPH 1986). Т. 20, № 4. с. 143—150. CiteSeerX: 10.1.1.63.1402.
- ↑ Cook, R.L.; Carpenter, L.; Catmull, E. (1987). The Reyes image rendering architecture (PDF). Computer Graphics (Proceedings of SIGGRAPH 1987). Т. 21, № 4. с. 95—102.
- ↑ Hanrahan, P.; Salzman, D.; Aupperle, L. (1991). A rapid hierarchical radiosity algorithm. Computer Graphics (Proceedings of SIGGRAPH 1991). Т. 25, № 4. с. 197—206. CiteSeerX: 10.1.1.93.5694.
- ↑ Tumblin, J.; Rushmeier, H.E. (1993). Tone reproduction for realistic computer generated images (PDF). IEEE Computer Graphics & Applications. 13 (6): 42—48. doi:10.1109/38.252554. Архів оригіналу (PDF) за 8 грудня 2011. Процитовано 1 травня 2014.
- ↑ Hanrahan, P.; Krueger, W. (1993). Reflection from layered surfaces due to subsurface scattering. Computer Graphics (Proceedings of SIGGRAPH 1993). Т. 27. с. 165—174. CiteSeerX: 10.1.1.57.9761.
- ↑ Jensen, H.W.; Christensen, N.J. (1995). Photon maps in bidirectional monte carlo ray tracing of complex objects. Computers & Graphics. 19 (2): 215—224. doi:10.1016/0097-8493(94)00145-o. CiteSeerX: 10.1.1.97.2724.
- ↑ Veach, E.; Guibas, L. (1997). Metropolis light transport. Computer Graphics (Proceedings of SIGGRAPH 1997). Т. 16. с. 65—76. CiteSeerX: 10.1.1.88.944.
- ↑ Keller, A. (1997). Instant Radiosity. Computer Graphics (Proceedings of SIGGRAPH 1997). Т. 24. с. 49—56. CiteSeerX: 10.1.1.15.240.
- ↑ http://freestyle.sourceforge.net/ Сайт рушія вимальовування Freestyle(англ.)
Література
ред.- Pharr, Matt; Humphreys, Greg (2004). Physically based rendering from theory to implementation. Amsterdam: Elsevier/Morgan Kaufmann. ISBN 0-12-553180-X.
- Shirley, Peter; Morley, R. Keith (2003). Realistic ray tracing (вид. 2). Natick, Mass.: AK Peters. ISBN 1-56881-198-5.
- Dutré, Philip; Bekaert, Philippe; Bala, Kavita (2003). Advanced global illumination (вид. [Online-Ausg.]). Natick, Mass.: A K Peters. ISBN 1-56881-177-2.
- Akenine-Möller, Tomas; Haines, Eric (2004). Real-time rendering (вид. 2). Natick, Mass.: AK Peters. ISBN 1-56881-182-9.
- Strothotte, Thomas; Schlechtweg, Stefan (2002). Non-photorealistic computer graphics modeling, rendering, and animation (вид. 2). San Francisco, CA: Morgan Kaufmann. ISBN 1-55860-787-0.
- Gooch, Bruce; Gooch, Amy (2001). Non-photorealistic rendering. Natick, Mass.: A K Peters. ISBN 1-56881-133-0.
- Jensen, Henrik Wann (2001). Realistic image synthesis using photon mapping (вид. [Nachdr.]). Natick, Mass.: AK Peters. ISBN 1-56881-147-0.
- Blinn, Jim (1996). Jim Blinn's corner : a trip down the graphics pipeline. San Francisco, Calif.: Morgan Kaufmann Publishers. ISBN 1-55860-387-5.
- Glassner, Andrew S. (2004). Principles of digital image synthesis (вид. 2). San Francisco, Calif.: Kaufmann. ISBN 1-55860-276-3.
- Cohen, Michael F.; Wallace, John R. (1998). Radiosity and realistic image synthesis (вид. 3). Boston, Mass. [u.a.]: Academic Press Professional. ISBN 0-12-178270-0.
- Foley, James D.; Van Dam; Feiner; Hughes (1990). Computer graphics : principles and practice (вид. 2). Reading, Mass.: Addison-Wesley. ISBN 0-201-12110-7.
- Andrew S. Glassner, ред. (1989). An introduction to ray tracing (вид. 3). London [u.a.]: Acad. Press. ISBN 0-12-286160-4.
- Description of the 'Radiance' system
Посилання
ред.- SIGGRAPH Спеціальна група за інтересами ACMs у графіці — найбільша академічна та професійна асоціація.
Це незавершена стаття про комп'ютерну графіку. Ви можете допомогти проєкту, виправивши або дописавши її. |