Рендеринг

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Рендеринг за допомогою POV-Ray 3.6, квітень 2006 року
Зображення, створене сполученням фотофону та візуалізованої моделі літака Іскандером Вігоа Пересом у 2012 році

Рéндеринг, комп'ютерна візуалізація (англ. rendering — візуалізація, проявлення, відмальовування, подання) — в комп'ютерній графіці — це процес отримання зображення за моделлю з допомогою комп'ютерної програми. Тут модель — це опис тривимірних об'єктів (3D, 3Д) певною мовою програмування і у вигляді структури даних. Такий опис може містити геометричні дані, положення точки спостерігача, інформацію про освітлення. А зображення — це цифрове растрове зображення.

Слово рендеринг в Україні вживають для вказування процесу візуалізації, що виконується за допомогою програмного забезпечення, а рендер — для позначення готового зображення, тобто як синоніми до словосполучень: комп'ютерна візуалізація — комп'ютерний рендеринг, візуалізований об'єкт — рендер[1].

Комп'ютерна візуалізація — один з найважливіших розділів в комп'ютерній графіці, і на практиці він найтіснішим чином пов'язаний з іншими. Для візуалізації створюються самостійні програмні пакети — рендери, поряд із інтеграцією їх з програмами тривимірного моделювання, анімації, відеомонтажу, 2D малювання та фоторедагування.

Різновиди комп'ютерної візуалізації

[ред. | ред. код]
Різні методи візуалізації (від художнього стилю до фотореалізму), які застосовані до однієї 3D-сцени.[a]

Наступні різновиди комп'ютерної візуалізації створені через велику різноманітність сфери її застосувань:

  • фотореалістична візуалізація;
  • нефотореалістична візуалізація;

Ці різновиди отримуються за допомогою використання одного чи скупності наступних методів:

Залежно від мети, розрізняють пре-рендеринг, як досить повільний процес візуалізації, що застосовується в основному при створенні відео, і рендеринг у режимі реального часу, застосовуваний у комп'ютерних іграх, при створенні доповненої[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) — об'єкти здаються розмитими через високу швидкість руху об'єкта або камери.

Методи рендерингу (візуалізації)

[ред. | ред. код]

На сьогодні розроблено безліч алгоритмів візуалізації, а існуюче програмне забезпечення може використовувати сукупно декілька алгоритмів для отримання кінцевого зображення.

Трасування всіх променів світла в сцені непрактичне і займає занадто довгий час. Навіть трасування малої кількості променів, достатнього для того, щоб отримати зображення, займає надто багато часу, якщо не застосовується апроксимація.

Внаслідок цього було розроблено чотири групи методів, більш ефективних, ніж моделювання всіх променів світла, що освітлюють сцену:

  • Ray casting (метод кидання променів) (англ. ray casting). Сцена розглядається, як така, що спостерігається з певної точки. З точки спостереження на об'єкти сцени направляються промені, за допомогою яких визначається колір пікселя на двовимірному екрані. При цьому промені припиняють своє поширення (на відміну від методу зворотного трасування), коли досягають будь-якого об'єкта сцени або її фону. Можливе використання будь-яких дуже простих способів додавання оптичних ефектів. Ефект перспективи отримується природним чином, якщо промені надходять під кутом, що залежить від положення пікселя на екрані і максимального кута об'єктиву камери.
  • Трасування променів (англ. ray tracing) схожа на метод кидання променів. З точки спостереження на об'єкти сцени направляються промені, за допомогою яких визначається колір пікселя на двовимірному екрані. Але при цьому промінь не припиняє своє поширення, а розділяється на три променя, кожен з яких вносить свій внесок в колір пікселя на двовимірному екрані: відбитий, тіньовий і заломлений. Кількість таких поділів на компоненти визначає глибину трасування та впливає на якість і фотореалістичність зображення. Завдяки своїм концептуальним особливостям, метод дозволяє отримати дуже фотореалістичні зображення, але при цьому він дуже ресурсозатратний, і процес візуалізації займає значні періоди часу.
  • Трасування шляху (англ. path tracing) містить схожий принцип трасування променів, що поширюються, однак цей метод є найбільш наближеним до фізичних законів поширення світла. Відповідно, він є найбільш ресурсозатратним.

Передове програмне забезпечення зазвичай поєднує в собі декілька технік, щоб отримати достатньо якісне і фотореалістичне зображення при прийнятних витратах обчислювальних ресурсів.

Математичне обґрунтування

[ред. | ред. код]

Реалізація механізму рендерингу завжди ґрунтується на фізичній моделі. Обчислення, що виконуються, відносяться до тієї чи іншої фізичної або абстрактної моделі. Головні ідеї прості для розуміння, але складні для застосування. Як правило, кінцеве елегантне рішення або алгоритм більш складні і містять в собі комбінацію різних методів.[3]

Головне рівняння

[ред. | ред. код]

Ключем до теоретичного обґрунтування моделей рендерингу служить рівняння рендерингу. Воно є найбільш повним формальним описом частини рендерингу, що не відноситься до сприйняття кінцевого зображення. Всі моделі являють собою яке-небудь наближене рішення цього рівняння.

Неформальне тлумачення: кількість світлового випромінювання (Lo), що виходить з певної точки в певному напрямку є власне випромінювання і відбите випромінювання. Відбите випромінювання є добуток суми по всіх напрямах випромінювання, що надходить (Li), та коефіцієнту відбиття з даного кута. Об'єднуючи в одному рівнянні світло, яке надходить, з тим, що випромінюється, в одній точці, це рівняння формує опис усього світлового потоку в заданій системі.

Хронологія створення важливих засобів візуалізації

[ред. | ред. код]

Програмне забезпечення для рендерингу — рендери (візуалізатори)

[ред. | ред. код]

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 — рендери, які для обчислення використовують сукупно, як центральний процесор так і графічний.

Пакети тривимірного моделювання, що мають власні рендерери

[ред. | ред. код]

Всесвітньо відомі студії комп'ютерної візуалізації

[ред. | ред. код]

Див. також

[ред. | ред. код]

Примітки

[ред. | ред. код]
  1. 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.

Джерела

[ред. | ред. код]
  1. https://repository.kpi.kharkov.ua/server/api/core/bitstreams/19a181f5-9306-4cb9-82ac-c8c2d7eff3c9/content
  2. Щегельська Ю. П. Способи активації двовимірних систем AR-рендерінгу в практиці промоційних комунікацій.//Технологія і техніка друкарства, № 1(71), 2021. — C. 90 — 97. [1]
  3. а б 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.
  4. Appel, A. (1968). Some techniques for shading machine renderings of solids (PDF). Proceedings of the Spring Joint Computer Conference. Т. 32. с. 37—49.
  5. 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.
  6. Gouraud, H. (1971). Continuous shading of curved surfaces (PDF). IEEE Transactions on Computers. 20 (6): 623—629. Архів оригіналу (PDF) за 2 липня 2010. Процитовано 1 травня 2014.
  7. а б Catmull, E. (1974). A subdivision algorithm for computer display of curved surfaces (PDF) (Дипломна робота PhD). University of Utah. Архів оригіналу (PDF) за 14 листопада 2014. Процитовано 1 травня 2014.
  8. 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.
  9. 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.
  10. 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.
  11. 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.
  12. Blinn, J.F. (1978). Simulation of wrinkled surfaces (PDF). Computer Graphics (Proceedings of SIGGRAPH 1978). Т. 12, № 3. с. 286—292.
  13. 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.
  14. 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.
  15. 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.
  16. Williams, L. (1983). Pyramidal parametrics. Computer Graphics (Proceedings of SIGGRAPH 1983). Т. 17, № 3. с. 1—11. CiteSeerX: 10.1.1.163.6298.
  17. Glassner, A.S. (1984). Space subdivision for fast ray tracing. IEEE Computer Graphics & Applications. 4 (10): 15—22. doi:10.1109/mcg.1984.6429331.
  18. Porter, T.; Duff, T. (1984). Compositing digital images (PDF). Computer Graphics (Proceedings of SIGGRAPH 1984). Т. 18, № 3. с. 253—259.
  19. Cook, R.L.; Porter, T.; Carpenter, L. (1984). Distributed ray tracing (PDF). Computer Graphics (Proceedings of SIGGRAPH 1984). Т. 18, № 3. с. 137—145.[недоступне посилання з квітня 2019]
  20. 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.
  21. 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.
  22. Arvo, J. (1986). Backward ray tracing. SIGGRAPH 1986 Developments in Ray Tracing course notes. CiteSeerX: 10.1.1.31.581.
  23. Kajiya, J. (1986). The rendering equation. Computer Graphics (Proceedings of SIGGRAPH 1986). Т. 20, № 4. с. 143—150. CiteSeerX: 10.1.1.63.1402.
  24. Cook, R.L.; Carpenter, L.; Catmull, E. (1987). The Reyes image rendering architecture (PDF). Computer Graphics (Proceedings of SIGGRAPH 1987). Т. 21, № 4. с. 95—102.
  25. 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.
  26. 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.
  27. 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.
  28. 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.
  29. Veach, E.; Guibas, L. (1997). Metropolis light transport. Computer Graphics (Proceedings of SIGGRAPH 1997). Т. 16. с. 65—76. CiteSeerX: 10.1.1.88.944.
  30. Keller, A. (1997). Instant Radiosity. Computer Graphics (Proceedings of SIGGRAPH 1997). Т. 24. с. 49—56. CiteSeerX: 10.1.1.15.240.
  31. http://freestyle.sourceforge.net/ Сайт рушія вимальовування Freestyle(англ.)

Література

[ред. | ред. код]

Посилання

[ред. | ред. код]
  • SIGGRAPH Спеціальна група за інтересами ACMs у графіці — найбільша академічна та професійна асоціація.