Що таке рендер? Що таке рендерінг? І що таке рендер? Словник розробників комп'ютерних ігор! Що таке Попередній рендер?

 Що таке рендер? Що таке рендерінг? І що таке рендер? Словник розробників комп'ютерних ігор! Що таке Попередній рендер?

Матеріал із CADогляд.

Рендерінг(rendering – «візуалізація») у комп'ютерній графіці – це процес отримання зображення за моделлю за допомогою комп'ютерної програми. Тут Модель- це опис тривимірних об'єктів строго певною мовою або у вигляді структури даних. Такий опис може містити геометричні дані, положення точки спостерігача, інформацію про освітлення. Зображення- Цифрове растрове зображення. Простіше кажучи, рендеринг- Створення плоского зображення (картинки) за розробленою 3D сценою. Синонімом у цьому контексті є Візуалізація.

Це один з найбільш важливих розділів у комп'ютерній графіці, і на практиці він тісно пов'язаний з іншими. Зазвичай, програмні пакети тривимірного моделювання та анімації включають також і функцію рендерингу. Існують окремі програмні продукти, які виконують рендеринг.

Залежно від мети, розрізняють пре-рендерінг, як досить повільний процес візуалізації, що застосовується в основному при створенні відео, і рендеринг у реальному режимі, що використовується в комп'ютерних іграх. Останній часто використовує 3D-прискорювачі.

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

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

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

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

  • Розтеризація(rasterization) та метод сканування рядків (scanline rendering). Візуалізація здійснюється проектуванням об'єктів сцени на екран без розгляду ефекту перспективи щодо спостерігача.
  • Метод кидання променів(Ray casting). Сцена розглядається як спостерігається з певної точки. З точки спостереження на об'єкти сцени спрямовуються промені, за допомогою яких визначається колір пікселя на двовимірному екрані. У цьому промені припиняють своє поширення (на відміну методу зворотного трасування), коли досягають будь-якого об'єкта сцени чи його тла. Можливо, використовуються якісь дуже прості техніки додавання оптичних ефектів або внесення ефекту перспективи.
  • Глобальна ілюмінація(global illumination, radiosity). Використовує математику кінцевих елементів, щоб симулювати дифузне поширення світла від поверхонь і досягати ефектів «м'якості» освітлення.
  • Трасування променів(ray tracing) схожий на метод кидання променів. З точки спостереження на об'єкти сцени спрямовуються промені, за допомогою яких визначається колір пікселя на двовимірному екрані. Але при цьому промінь не припиняє свого поширення, а поділяється на три компоненти, променя, кожен з яких робить свій внесок у колір пікселя на двовимірному екрані: відбитий, тіньовий і заломлений. Кількість таких поділів на компоненти визначає глибину трасування та впливає на якість та фотореалістичність зображення. Завдяки своїм концептуальним особливостям метод дозволяє отримати дуже фотореалістичні зображення, але при цьому він є дуже ресурсомістким і процес візуалізації займає значні періоди часу.

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

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

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

Основне рівняння

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

Неформальне тлумачення таке: Кількість світлового випромінювання (L o), що виходить з певної точки в певному напрямку, є власне випромінювання та відображене випромінювання. Відбите випромінювання є сума по всіх напрямках випромінювання (L i), що приходить на коефіцієнт відбиття з даного кута. Поєднуючи в одному рівнянні світло, що приходить з вихідним в одній точці, це рівняння становить опис всього світлового потоку в заданій системі.

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

  • RenderMan (PhotoRealistic або PRMan)
  • Gelato (розробка припинена у зв'язку з покупкою NVIDIA, mental ray)
  • Entropy (продаж припинено)
  • BMRT (Blue Moon Rendering Tools) (поширення припинено)
  • Holomatix Renditio (інтерактивний рейтрейсер)
Пакети тривимірного моделювання, що мають власні рендери
  • 3ds Max (Scanline)

Таблиця порівняння властивостей рендерів

рендерисумісний з 3ds Maxсумісний з Mayaсумісний із SOFTIMAGEсумісний з Houdiniсумісний з LightWaveсумісний з Blenderсумісний із SketchUpсумісний із Cinema 4Dbiased, unbiasedscanlineraytraceалгоритми Глобальне освітлення чи свої алгоритмиDepth of FieldMotion Blur (vector pass)DisplasmentArea LightGlossy Reflect/RefractSSSStand Aloneпоточна версіярік випускубібліотека матеріалівзаснований на технологіїnoramal mappingIBLPsyhical sunофіційний сайткраїна виробниквартість $основна перевагакомпанія виробник
RenderMan + + - - - - - - biased + дуже повільний + дуже швидкийшвидкий + + + 13.5,2,1 1987 - США 3500 Pixar
mental rayвбудованийвбудованийвбудованийвбудований - - - - biased + + Photon, Final Gather (Quasi-Montecarlo) + + + + + + + 3.6 1986 33 My mentalRay Німеччина 195 mental images (c 2008 NVIDIA)
Gelato (розробка припинена) + + - - - - - - biased + + + швидкийшвидкий + + + 2.2 2003 - США 0 NVIDIA
V-Ray + передрелізна версія, доступна для завантаження на офіційному сайті - - - - + + biased - + Light Cash, Photon Map, Irradiance Map, Brute Force (Quasi-Montecarlo) + + повільний, 2d та 3d + + + 2005 року (сира)1.5 RC5 2000 близько 1300 vray-materials Болгарія1135 (Super Bundle) 999 (Bundle) 899 (Standart) 240 (Educational) Chaos Group
finalRender + + - - - - - + biased - + Hyper Global Illumination, Adaptive Quasi-Montecarlo, Image, Quasi Monte-Carlo + + вважає вектор пасповільний + + + - Stage-2 2002 30 оф. сайт Німеччина 1000 cebas
Brazil R/S + - - - - - - - biased - + Quasi-Montecarlo, PhotonMapping + + - + + + - 2 2000 113 оф. сайт США 735 SplutterFish
Turtle - + - - - - - - biased - + Photon Map, Final Gather + + швидкий + + + - 4.01 2003 - liquidlight [Швеція 1500 Baking висока швидкість (не дуже висока якість)Illuminate Labs
Maxwell Render + + + - + - + + unbiased - - Metropolis Light Transport + + + + + + + 1.61 2007 (?) 2979 оф. сайт Maxwell Render Іспанія 995 Next Limit
Fryrender + + + + + - + + unbiased - - Metropolis Light Transport + + + + + + + 1.91 2006 (?) 110 оф. сайт Іспанія 1200 Feversoft
Indigo + + + + - + + + unbiased - - Metropolis Light Transport + + + + + + + 1.0.9 2006 - Metropolis Light Transport Indigo Renderer ? 0 Відкрите програмне забезпечення ?

Див. також

Хронологія найважливіших публікацій

  • 1968 Ray casting(Appel, A. (1968). Деякі технології для shading machine renderings of solids. Proceedings of the Spring Joint Computer Conference 32 , 37-49.)
  • 1970 Scan-line algoritm(Bouknight, W. J. (1970). A procedure for generation of three-dimensional half-tone computer graphics presentations. Communications of the ACM)
  • 1971 Gouraud shading(Gouraud, H. (1971). Computer display of curved surfaces. IEEE Transactions on Computers 20 (6), 623-629.)
  • 1974 Texture mapping PhD thesis, University of Utah.)
  • 1974 Z-buffer(Catmull, E. (1974). A subdivision algoritm for computer display of curved surfaces. PhD thesis)
  • 1975 Phong shading(Phong, B-T. (1975). Ilumination for computer generated pictures. Communications of the ACM 18 (6), 311-316.)
  • 1976 Environment mapping(Blinn, JF, Newell, M.E. (1976). Texture and reflection in computer generated images. Communications of the ACM 19 , 542-546.)
  • 1977 Shadow volumes(Crow, F.C. (1977). Shadow algorithms for computer graphics. Computer Graphics (Proceedings of SIGGRAPH 1977) 11 (2), 242-248.)
  • 1978 Shadow buffer(Williams, L. (1978). Casting curved shadows on curved surfaces. 12 (3), 270-274.)
  • 1978 Bump mapping(Blinn, J.F. (1978). Simulation of wrinkled surfaces. Computer Graphics (Proceedings of SIGGRAPH 1978) 12 (3), 286-292.)
  • 1980 BSP trees(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.)
  • 1980 Ray tracing(Whitted, T. (1980). An improved ilumination model for shaded display. Communications of the ACM 23 (6), 343-349.)
  • 1981 Cook shader(Cook, R.L. Torrance, K.E. (1981). A reflectance model for computer graphics. Computer Graphics (Proceedings of SIGGRAPH 1981) 15 (3), 307-316.)
  • 1983 Mipmaps(Williams, L. (1983). Pyramidal parametrics. Computer Graphics (Proceedings of SIGGRAPH 1983) 17 (3), 1-11.)
  • 1984 Octree ray tracing(Glassner, AS. (1984). Space subdivision for fast ray tracing. 4 (10), 15-22.)
  • 1984 Alpha compositing(Porter, T. Duff, T. (1984). Compositing digital images. 18 (3), 253-259.)
  • 1984 Distributed ray tracing(Cook, R.L. Porter, T. Carpenter, L. (1984). Distributed ray tracing. Computer Graphics (Proceedings of SIGGRAPH 1984) 18 (3), 137-145.)
  • 1984 Radiosity(Goral, C. Torrance, K.E. Greenberg, D.P. Battaile, B. (1984). Modelling the interaction of light між diffuse surfaces. Computer Graphics (Proceedings of SIGGRAPH 1984) 18 (3), 213-222.)
  • 1985 Hemi-cube radiosity(Cohen, M.F. Greenberg, D.P. (1985). Хемі-cube: radiosity solution for complex environments. Computer Graphics (Proceedings of SIGGRAPH 1985) 19 (3), 31-40.)
  • 1986 Light source tracing(Arvo, J. (1986). Backward ray tracing. SIGGRAPH 1986 Developments in Ray Tracing course notes)
  • 1986 Rendering equation(Kajiya, J.T. (1986). The rendering equation. Computer Graphics (Proceedings of SIGGRAPH 1986) 20 (4), 143-150.)
  • 1987 Reyes algorithm(Cook, R.L. Carpenter, L. Catmull, E. (1987). The reyes image rendering architecture. Computer Graphics (Proceedings of SIGGRAPH 1987) 21 (4), 95-102.)
  • 1991 Hierarchical radiosity(Hanrahan, P. Salzman, D. Aupperle, L. (1991). A rapid hierarchical radiosity algorithm. Computer Graphics (Proceedings of SIGGRAPH 1991) 25 (4), 197-206.)
  • 1993 Tone mapping(Tumblin, J. Rushmeier, H.E. (1993). Tone reproduction for realistic computer generated images. IEEE Computer Graphics & Applications 13 (6), 42-48.)
  • 1993 Subsurface scattering(Hanrahan, P. Krueger, W. (1993). Reflection from layered surfaces due to subsurface scattering. Computer Graphics (Proceedings of SIGGRAPH 1993) 27 (), 165-174.)
  • 1995 Photon mapping(Jensen, HJ Christensen, NJ (1995).) Photon maps в bidirectional monte carlo ray tracing of complex objects. Комп'ютери & Graphics 19 (2), 215-224.)
  • 1997 Metropolis light transport(Veach, E. Guibas, L. (1997). Metropolis light transport. Computer Graphics (Proceedings of SIGGRAPH 1997) 16 65-76.)

Навчіться рендерити швидше та ефективніше за допомогою порад від майстрів своєї справи!

Комусь процес рендерингу може здатися нудним та нецікавим у порівнянні з іншими етапами роботи з 3D, але від цього він не стає менш важливим. Сьогодні велике значення має швидкість і якість роботи виконавця, при цьому час не повинен витрачатися марно. Відрендеренні кадри або секвенції завжди можна перерендерити на свіжу голову, але від цього ви не витратите менше часу на них. Тому потрібно розуміти, що ви працюєте правильно.

«Normal-пас додасть відрендереної картинки ще більше світла. Кожен канал можна використовувати як додаткове джерело світла», - Carlos Ortega Elizalde.

Порада №1: Рендеруйте все за пасами

«Іноді потрібно «підтягнути» вже відрендеровану картинку. Тому я рендерую окремо всі елементи (фон, передній план, персонаж тощо), а потім зводжу всі разом у Photoshop. Далі я тоную зображення за допомогою коригувальних шарів, таких як selective color, hue/saturation і levels. Також при необхідності я використовую віньєтування та розмиття. І тримаюся подалі від повзунка chromatic aberration, який останнім часом використовується надто часто і не доречно», - Andrew Hickinbottom.

Робота із шарами допомагає поглянути на роботу по-новому

Порада №2: Normal-паси

«Normal-пас додасть відрендереної картинки ще більше світла. Кожен канал можна використовувати як додаткове джерело світла. І хоча це не фізично коректне світло, такий підхід допомагає підкреслити важливі деталі і витягнути пересвічені або засвічені ділянки зображення, імітуючи rim- або bounce-світильники. Це економить масу часу та зусиль. Такий підхід можна також використовувати для відрендерених анімаційних секвенцій у програмах композитингу», — Carlos Ortega Elizalde .

Поради, які допомагають заощадити час, дуже важливі

Кожна деталь, додана в процесі моделювання, текстурування чи освітлення, зіграє на руку рендеру Carlos Ortega Elizalde

Порада №3: ​​Не лінуйтеся створювати specular-пас…

«Для того, щоб відрендерити specular-пас у Keyshot, я використовую матеріал wax з translucency 0 та максимально викрученої specularity, для SColor та Subsurface Color я використовую чорний колір. Заднє тло я також роблю чорним, для освітлення сцени використовую HDRI Urban», — Luca Nemolato.

Паси Keyshot використовуються для покращення картинки.

Порада №3: ​​… і пас шкіри

«Для того, щоб отримати хороший пас шкіри в Keyshot, я використовую метаріал Human Skin з translucency 0.7 (значення translucency також залежить від моделі), roughness 0.8, потім я завантажую Texture-карту та Normal-карту. Сцену я зазвичай висвітлюю за допомогою HDRI Factory», - Luca Nemolato.

Шкіра коштує витраченого на неї часу, тому експериментуйте, доки не отримаєте задовільний результат

Порада №4: Рендеруйте лише важливі елементи

«Зазвичай дозвіл у ілюстрацій для друку має бути досить високим, тому для фінального рендеру я використовую дозвіл у 6-8k. Для такого рендеру потрібні текстури з дуже високою роздільною здатністю, що значно уповільнює роботу Maya та Hypershade. Текстури з таким дозволом потрібні тільки для фінального рендеру, тому для тестових рендерів я змінюю розмір текстур, оскільки для роботи зі світлом та матеріалами мені не потрібна висока роздільна здатність», — Alex Alvarez .

Текстури цієї сцени важать кілька ГБ. Після зменшення розміру текстур час тестового рендеру під час налаштування світла скоротився на 75%

Порада №5: Спочатку все тестуйте

«Перед тим, як переходити до фінального рендеру, робіть кілька тестових з низькою роздільною здатністю, також перевірте, що всі налаштування коректні, освітлення виставлене правильно, на картинці не з'являються незрозумілі плями чи засвіти. Наприклад, для початку я рендерю з роздільною здатністю 800 х 800, яку потім збільшую до 1800 х1800, для фінального рендеру я використовую роздільну здатність 5000 х 5000, також окремо рендерю паси, важливі на етапі посту. Картинку я зберігаю у форматі HDR, оскільки хочу мати можливість відредагувати та налаштувати експозицію», - Sérgio Merêces.

Швидкий тест врятує вас від багатьох годин очікування

Порада №6: Корекція кольору

«Рендери у форматі RAW зазвичай виглядають не найкращим чином, але все змінюється, якщо у вас є можливість підредагувати картинку Photoshop, Fusion або NUKE. При цьому для важливих елементів зображення можна провести корекцію кольорів, розфокусувати їх, додати шуму або, навпаки, фокусу, різкості, найменш важливі частини зображення можна зробити темнішими», — Toni Bratincevic.

Затемнення, освітлення або тонування зображення для отримання кращого результату

Поверніться назад до концепту, якщо ви незадоволені рендером. Як каже Toni Bratincevic: «Якщо референс за фактом є добре опрацьованим концептом з коректною композицією, отримання якісного рендеру перетворюється на питання часу та технічних скіллів, за допомогою яких ви моделюватимете, текстуруватимете і висвітлюватимете сцену».

Порада №7: Використовуйте паси

«Використовуйте рендер-паси для всього блискучого, що світиться чи прозорого. Окремо рендеруйте заднє тло, передній план тощо, що дозволить більш гнучко працювати з картинкою на композі. Ховайте все, що якось не належить до рендеру, тобто. відключайте у таких елементів тіні та їх участь у GI, не використовуйте відображення для невеликих об'єктів. Для всього достатньо далекого від камери, використовуйте matte painting», — Francesco Giroldini .

Різні паси додають картинці виразності

Порада №8: Використовуйте ID matte

"ID matte - дешевий і сердитий спосіб змінити картинку після рендеру. Призначте елементам у сцені звичайнісінький червоний або блакитний кольори, відрендеруйте їх з тієї ж камери як beauty-пас, це допоможе ефективніше працювати з елементами на композі", - Francesco Giroldini.

Ніколи не пізно щось виправити

Рендеруйте тільки те, що дійсно потрібнеFrancesco Giroldini

Порада №9: Постарайтеся побачити всю картинку

«Фінальний рендер складає 90% від картинки, решта 10% припадає на пост, що вирішить, чи буде ваша картинка більш CGI або фотореалістичною. У вільний час вивчіть мінуси рендерера, яким ви користуєтеся, та можливості отримання за допомогою більш реалістичної картинки. Такі елементи як відблиски, світловий ореол, свічення, зерно та контраст додаються вже на пості. Такі інструменти, як Magic Bullet Looks, легкі у використанні і дозволяють працювати в режимі реального часу, що робить процес імітації будь-якого ефекту швидшим у порівнянні з рендерером», — Alex Alvarez.

Різні варіанти зображення, отримані за допомогою Photoshop та Magic Bullet

Так виглядав фінальний рендер роботи Meadow в mental ray, який Alex Alvarez потім обробив Alex Alvarez

Ці текстури Alex Alvarez виключив із фінального рендеру Alex Alvarez

Порада №10: Рендеру час, потіху годину

За умови коректно виконаної роботи ви будете раді фінальному рендеру, а закінченому продукту зрадієте ще більше. А якщо ні, то подумайте про наступний проект. Наступного разу ви ще майстерніше моделюватимете, текстури будуть невагомі, світло сліпучим, а рендер ідеальним. Наступного разу вам вдасться відтворити картинку з голови. А якщо немає? Що ж, спробуйте ще раз, а потім ще раз і ще раз.

«Використовуйте рендер-паси для всього блискучого, світиться або прозорого» Francesco Giroldini

"itemprop="image">

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

Я почав писати статті, які є лікнепом для розробника ігор. І поквапився, написавши статтю про , не розповівши що таке рендеринг. Тому ця стаття буде приквелом до введення в шейдери та відправним пунктом у нашому лікнепі.

Що таке рендерінг? (Для програмістів)

Отже, Вікіпедія дає таке визначення: Рендерінг (англ. rendering – «візуалізація») – термін у комп'ютерній графіці, що означає процес отримання зображення за моделлю за допомогою комп'ютерної програми.

Досить непогане визначення, продовжимо з ним. Рендеринг – це візуалізація. У комп'ютерній графіці і 3д-художники та програмісти під рендерингом розуміють створення плоскої картинки – цифрового растрового зображення із 3д сцени.
Тобто, неформальна відповідь на запитання «Що таке рендеринг?» - це отримання 2д картинки (на екрані або у файлі не важливо). А комп'ютерна програма, що виробляє рендеринг, називається рендер (англ. render) або рендерер (англ. renderer).

Рендер

У свою чергу словом «рендер» найчастіше називають результат рендерингу. Але іноді і процес називають так само (просто в англійській дієслово - render перенісся в російську, він коротший і зручніший). Ви, мабуть, зустрічали різні картинки в інтернеті, з підписом «Вгадай рендер чи фото?». Мається на увазі це 3D-візуалізація або реальна фотографія (настільки комп'ютерна графіка просунулася, що часом і не розберешся).

Види рендерингу

Залежно від можливості зробити обчислення паралельними є:

  • багатопотоковий рендеринг - обчислення виконуються паралельно в кілька потоків, на кількох ядрах процесора,
  • однопотоковий рендеринг - у цьому випадку обчислення виконуються в одному потоці синхронно.

Існує багато алгоритмів рендерингу, але їх можна розділити на дві групи за принципом отримання зображення: растеризація 3д моделей і трасування променів. Обидва способи використовують у відеоіграх. Але трасування променів частіше використовується не для отримання зображень у режимі реального часу, а для підготовки так званих лайтмапів — світлових карток, які передбачаються під час розробки, а після результатів передрахунку використовуються під час виконання.

У чому полягає суть методів? Як працює розтеризація та трасування променів? Почнемо з розтеризування.

Розтеризація полігональної моделі

Сцена складається із моделей, розташованих на ній. У свою чергу, кожна модель складається з примітивів.
Це можуть бути точки, відрізки, трикутники та деякі інші примітиви, такі як квади наприклад. Але якщо ми рендер не точки і не відрізки, будь-які примітиви перетворюються на трикутники.

Завдання розтеризатора (програма, яка виконує розтеризацію) отримати з цих примітивів пікселі результуючого зображення. Розтеризація в розрізі графічного пайплайну відбувається після вершинного шейдера і до фрагментного ().

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

У випадку з відрізком потрібно отримати пікселі лінії, що з'єднує дві точки, у випадку з трикутником пікселі, які всередині нього. Для першої задачі застосовується алгоритм Брезенхема, для другої може застосовуватися алгоритм замітання прямими або барицентричних координат перевірки.

Складна модель персонажа складається з найдрібніших трикутників і розтеризатор генерує з неї цілком достовірну картинку. Чому тоді морочитися з трасуванням променів? Чому не розтеризувати і все? А сенс ось у чому, розтеризатор знає лише свою рутинну справу, трикутники – у пікселі. Він нічого не знає про об'єкти поряд із трикутником.

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

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

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

Трасування променів (англ. ray tracing)

Пам'ятаєте про корпускулярно хвильовий дуалізм? Нагадаю в чому суть: світло поводиться як хвилі і як потік частинок — фотонів. Так ось трасування (від англ trace простежувати шлях), це симуляція променів світла, грубо кажучи. Але трасування кожного променя світла у сцені непрактичне і займає неприйнятно довгий час.

Ми обмежимося відносно малою кількістю, і трасуватимемо промені за потрібними нам напрямками.
А які напрями нам потрібні? Нам треба визначати які кольори матимуть пікселі у результуючій картинці. Тобто кількість променів ми знаємо, воно дорівнює кількості пікселів у зображенні.

Що із напрямком? Все просто, ми будемо трасувати промені відповідно до точки спостереження (як наша віртуальна камера спрямована). Промінь зустрінеться в якійсь точці з об'єктом сцени (якщо не зустрінеться, значить, там темний піксель або піксель неба зі скайбоксу, наприклад).

При зустрічі з об'єктом промінь не припиняє своє поширення, а поділяється на три промені-компоненти, кожен з яких робить свій внесок у колір пікселя на двовимірному екрані: відбитий, тіньовий і заломлений. Кількість таких компонентів визначає глибину трасування та впливає на якість та фотореалістичність зображення. Завдяки своїм концептуальним особливостям метод дозволяє отримати дуже фотореалістичні зображення, проте через велику ресурсоємність процес візуалізації займає значний час.

Рендеринг для художників

Але рендеринг це не лише програмна візуалізація! Хитрі художники також використовують його. То що таке рендеринг із погляду художника? Приблизно те саме, що й для програмістів, лише концепт-художники виконують його самі. Руки. Так само як рендерер у відео-грі або V-ray в Maya художники враховують освітлення, підповерхневе розсіювання, туман та ін. фактори, що впливають на кінцевий колір поверхні.

Наприклад картинка вище, поетапно опрацьовується таким чином: Грубий скетч - Лайн - Колір - Об'єм - Рендер матеріалів.

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

Розтеризація векторної графіки

Суть приблизно така сама, є дані 2д кривих, це ті контури, якими задані об'єкти. У нас є кінцеве растрове зображення і розтеризатор переводить дані кривих у пікселі. Після цього ми не маємо можливості масштабувати картинку без втрати якості.

Читайте далі

  • - Просте пояснення складних і страшних шейдерів
  • — Корисний огляд частинок та добірка відео-уроків щодо створення спецефектів у Unity3d

Післямова

У цій статті, я сподіваюся, ви осили стільки букв, ви отримали уявлення про те, що таке рендеринг, які види рендерингу існують. Якщо якісь питання залишилися — сміливо ставте їх у коментарях, я обов'язково відповім. Буду вдячний за уточнення та вказівки на якісь неточності та помилки.

02жовтень

Що таке Рендер (Рендерінг)

Рендер (Рендерінг) - цепроцес створення фінального зображення або послідовності із зображень на основі двовимірних або тривимірних даних. Цей процес відбувається з використанням комп'ютерних програм і найчастіше супроводжується важкими технічними обчисленнями, які лягають на обчислювальні потужності комп'ютера або окремі його комплектуючі частини.

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

слова "Рендер".

Слово Рендер (Рендерінг) - цеангліцизм, який часто перекладається російською мовою словом “ Візуалізація”.

Що таке Рендерінг у 3D?

Найчастіше, коли ми говоримо про рендер, то маємо на увазі рендеринг у 3D графіку. Відразу варто зазначити, що насправді в 3D рендері немає трьох вимірів як таких, які ми часто можемо побачити в кінотеатрі, одягнувши спеціальні окуляри. Приставка “3D” у назву швидше говорить нам про спосіб створення рендеру, який і використовує 3-мірні об'єкти, створені в комп'ютерних програмах для 3D моделювання. Простіше кажучи, в результаті ми все одно отримуємо 2D зображення або їх послідовність (відео), які створювалися (рендерелися) на основі 3-мірної моделі або сцени.

Рендеринг – це один із найскладніших у технічному плані етапів у роботі з 3D графікою. Щоб пояснити цю операцію простою мовою, можна навести аналогію з роботами фотографів. Щоб фотографія постала у всій красі, фотографу потрібно пройти через деякі технічні етапи, наприклад, прояв плівки чи друк на принтері. Приблизно такими ж технічними етапами обтяжені 3d художники, які для створення підсумкового зображення проходять етап налаштування рендеру і сам процес рендерингу.

Побудова зображення.

Як уже говорилося раніше, рендеринг - це один із найскладніших технічних етапів, адже під час рендерингу йдуть складні математичні обчислення, що виконуються двигуном рендеру. На цьому етапі, двигун переводить математичні дані про сцену у фінальне 2D-зображення. Під час процесу йде перетворення 3d-геометрії, текстур та світлових даних сцени на об'єднану інформацію про колірне значення кожного пікселя в 2D зображення. Іншими словами, двигун на основі наявних у нього даних, прораховує те, яким кольором повинен бути пофарбований кожен піксель зображення для отримання комплексної, красивої та закінченої картинки.

Основні типи рендерингу:

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

Що таке Рендерінг у реальному часі?

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

Оскільки ключовим фактором у такому типі рендерингу є інтерактивність з боку користувача, то зображення доводиться прораховувати без затримок і практично в реальному часі, оскільки неможливо точно передбачити поведінку гравця і те, як він взаємодіятиме з ігровою або інтерактивною сценою. Для того, щоб інтерактивна сцена або гра працювала плавно без ривків і повільності, 3D движку доводиться рендерувати зображення зі швидкістю не менше 20-25 кадрів на секунду. Якщо швидкість рендеру буде нижче 20 кадрів, то користувач відчуватиме дискомфорт від сцени, спостерігаючи ривки та уповільнені рухи.

Велику роль створення плавного рендеру в іграх та інтерактивних сценах грає процес оптимізації. Для того, щоб досягти бажаної швидкості рендера, розробники використовують різні прийоми для зниження навантаження на рендер двигун, намагаючись знизити вимушену кількість прорахунків. Сюди входить зниження якості 3д моделей та текстур, а також запис деякої світлової та рельєфної інформації у заздалегідь запечені текстурні карти. Також варто відзначити, що основна частина навантаження при прорахунку рендеру в реальному часі лягатиме на спеціалізоване графічне обладнання (відеокарту -GPU), що дозволяє знизити навантаження з центрального процесора (ЦП) та звільнити його обчислювальні потужності для інших завдань.

Що таке Попередній рендер?

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

На відміну від Рендера в реальному часі, де основне навантаження припадало на графічні карти (GPU) У попередньому рендері навантаження лягає на центральний процесор (ЦП), а швидкість рендеру залежить від кількості ядер, багатопоточності та продуктивності процесора.

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

Програми для рендерингу.

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

Як правило, рендер движки є вбудованими у великі 3D програми для роботи з графікою та мають величезний потенціал. Серед найпопулярніших 3D програм (пакетів) є такий софт як:

  • 3ds Max;
  • Maya;
  • Blender;
  • Cinema 4dта ін.

Багато з цих 3D пакетів мають движки, що вже йдуть в комплекті рендер. Наприклад, рендер-движок Mental Ray є в пакеті 3Ds Max. Також практично будь-який популярний рендер-движок можна підключити до більшості відомих 3d пакетів. Серед популярних рендер движків є такі як:

  • V-ray;
  • Mental ray;
  • Corona rendererта ін.

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

Багато рендер-движки здобули славу у певних сферах роботи з 3д графікою. Так, наприклад, “V-ray” має велику популярність у архітектурних візуалізаторів, через наявність великої кількості матеріалів для архітектурної візуалізації та загалом хорошої якості рендеру.

Методи візуалізації.

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

1. Scanline (сканлайн).

Сканлайн рендер — вибір тих, хто пріоритет надасть швидкості, а не якості. Саме за рахунок своєї швидкості даний тип рендеру часто використовується у відеоіграх та інтерактивних сценах, а також у в'юпортах різних 3D пакетів. За наявності сучасного відеоадаптера, даний тип рендеру може видавати стабільну та плавну картинку в реальному часі з частотою від 30 кадрів на секунду та вище.

Алгоритм роботи:

Замість рендерингу «пікселя за пікселем», алгоритм функціонування «scanline» рендеру полягає в тому, що він визначає видиму поверхню в 3D графіку, і працюючи за принципом «ряд за рядом», спочатку сортує потрібні для рендеру полігони за вищою Y координатою, що належить даному полігону, після чого кожен ряд зображення прораховується за рахунок перетину ряду з полігоном, який є найближчим до камери. Полігони, які більше не є видимими, видаляються під час переходу одного ряду до іншого.

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

2. Raytrace (рейтрейс).

Цей тип рендеру створений для тих, хто хоче отримати картинку з максимально якісним та деталізованим промальовуванням. Рендеринг саме цього типу, має дуже велику популярність у любителів фотореалізму, і варто відзначити, що не просто. Досить часто за допомогою рейтрейс-рендерінгу ми можемо побачити реалістичні кадри природи та архітектури, які відрізнити від фотографії вдасться не кожному, до того ж, нерідко саме рейтрейс метод використовують у роботі над графіками в CG трейлерах або кіно.

На жаль, для якості, даний алгоритм рендерингу є дуже повільним і поки що не може використовуватися в ріал-тайм графіку.

Алгоритм роботи:

Ідея Raytrace алгоритму полягає в тому, що для кожного пікселя на умовному екрані від камери простежується один або кілька променів до найближчого тривимірного об'єкта. Потім промінь світла проходить певну кількість відскоків, які можуть входити відображення чи заломлення залежно від матеріалів сцени. Колір кожного пікселя обчислюється алгоритмічно на основі взаємодії світлового променя з об'єктами в його шляху, що трасується.

Метод Raycasting.

Алгоритм працює на основі «кидання» променів начебто з очей спостерігача, крізь кожен піксель екрану та знаходження найближчого об'єкта, який перешкоджає шляху такого променя. Використовуючи властивості об'єкта, його матеріалу та освітлення сцени, ми отримуємо потрібний колір пікселя.

Нерідко буває, що метод трасування променів (raytrace) плутають з методом «кидання променів» (raycasting). Але насправді, "raycasting" (метод кидання променя) фактично є спрощеним "raytrace" методом, в якому відсутня подальша обробка відбитих або заломлених променів, а прораховується тільки перша поверхня на шляху променя.

3. Radiosity.

Замість «методу трасування променів», у цьому методі прорахунок працює незалежно від камери та є об'єктно-орієнтованим на відміну від методу «піксель по пікселю». Основна функція “radiosity” полягає у тому, щоб точніше імітувати колір поверхні шляхом урахування непрямого освітлення (відскок розсіяного світла).

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

Досить популярна практика використання методу Radiosity та Raytrace разом для досягнення максимально вражаючих та фотореалістичних рендерів.

Що таке Рендерінг відео?

Іноді вираз «рендерити» використовують не тільки в роботі з комп'ютерною 3D графікою, але і при роботі з відеофайлами. Процес рендерингу відео починається тоді, коли користувач відеоредактора закінчив роботу над відеофайлом, виставив усі необхідні йому параметри, звукові доріжки та візуальні ефекти. По суті, все, що залишилося, це з'єднати все зроблене в один відеофайл. Цей процес можна порівняти з роботою програміста, коли він написав код, після чого все, що залишилося, це скомпілювати весь код у працюючу програму.

Як і у 3D дизайнера, так і у користувача відеоредактора процес рендерингу йде автоматично і без участі користувача. Все, що потрібно, це задати деякі параметри перед стартом.

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

Категорії: , // від

Походження терміна Слово "рендер" (або "рендеринг") прийшло, як і багато, пов'язане з IP-технологіями, з англійської мови. Походить воно від старофранцузького rendre, що означає «робити», «дати», «повернути», «повернути». Більш глибоке коріння цього дієслова сягає стародавньої латині: re – префікс, що означає «назад», і dare – «давати». Звідси – одне із смислів сучасного терміна. Рендер – це у тому числі процес відтворення площинного зображення на основі тривимірної моделі, що містить відомості про фізичні властивості об'єкта – його форму, фактуру поверхні, освітленість тощо.

Рендеринг(англ. rendering – «візуалізація») у комп'ютерній графіці – процес отримання зображення за моделлю за допомогою комп'ютерної програми.

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

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

Часто в комп'ютерній графіці (художній та технічній) під рендерингом розуміють створення плоского зображення (картинки) за розробленою 3D-сценою. Зображення – це цифрове растрове зображення. Синонімом у цьому контексті є візуалізація.

Візуалізація - одне з найважливіших розділів у комп'ютерної графіці, і практиці тісно пов'язані з іншими. Зазвичай, програмні пакети тривимірного моделювання та анімації включають також і функцію рендерингу. Існують окремі програмні продукти, які виконують рендеринг.

Залежно від мети, розрізняють пре-рендерінг, як досить повільний процес візуалізації, що застосовується в основному при створенні відео, і рендеринг у реальному режимі, що використовується в комп'ютерних іграх. Останній часто використовує 3D-прискорювачі.

Особливості рендерингу

На доведення попереднього ескізу до досконалості знадобиться багато часу – тривалість обробки складних зображень комп'ютером може досягати кількох годин. За цей період відбувається:

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

Складність обробки впливає на формування ціни 3d-візуалізації, чим більше буде потрібно часу, тим дорожче коштуватиме робота над проектом. По можливості, моделлери спрощують процес рендерингу, наприклад, прораховують окремі моменти або використовують інші інструменти, що дозволяють скоротити час візуалізації без погіршення її якості.

Хто займається рендерінгом?

Найпоширеніша професія, що вимагає від вас знання рендерингу, це «3D дизайнер». Спеціаліст такого роду може створювати все: від елементарного банера до моделей комп'ютерних ігор.

І, звичайно ж, 3D дизайнер займається не тільки рендерингом, а й усіма попередніми етапами створення 3D графіки, а саме: моделювання, текстурування, освітлення, анімація і лише після візуалізації.

Однак, 3D дизайнер не працює з математичними та фізичними формулами, описуючи їх мовами програмування. Все це за нього роблять програми компілятори (3D Max, Maya, Cinema 4D, Zbrush, Blender і т.д.) та вже написаних бібліотек фізичних властивостей (ODE, Newton, PhysX, Bullet тощо).

Окремо серед перерахованих вище програм, що дозволяють створювати 3D графіку, потрібно виділити безкоштовну програму OGRE 3D – графічні движки спеціально для рендерингу, за допомогою якого можна не тільки створювати «картинки», але й реалізувати цілу, а головне повноцінну комп'ютерну гру. Наприклад «Torchlight» як ігровий движок використовує саме OGRE.

Ну, а для обробки такої кількості та якості графічних сцен настільного комп'ютера буде не достатньо, тому останнім часом для рендерингу роблять не лише програми, а й сервіси для обробки їх процесів, такі як «рендер ферма». І варто зауважити, що задоволення це не з дешевих, не дивлячись на низькі ціни на рендер ферми ціна рендерингу виходить досить великою – 3,9 центів / ГГц-година.

Типи рендеру: online та пререндеринг

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

Програми, що використовуються для онлайн-рендера, використовують в основному ресурси графічної карти та оперативної пам'яті комп'ютера та меншою мірою – процесора. Для рендеру сцен, більш складних візуально, а також там, де питання швидкості не таке актуальне, коли набагато важливіше якість рендеру, використовуються інші методи та програми для рендерингу. У цьому випадку використовується вся міць багатоядерних процесорів, виставляються найвищі параметри роздільної здатності текстур, обчислення освітлення. Часто застосовується і постобробка рендеру, що дозволяє досягти високого ступеня фотореалістичності або потрібного художнього ефекту. Методи розрахунку сцени Вибір способів отримання зображення залежить від конкретного завдання і часто від особистих переваг і досвіду візуалізатора.

Розробляються нові системи рендеру – або вузькоспеціалізовані, або універсальні. Сьогодні в основі найпоширеніших програм-рендерів лежать три основні обчислювальні методи: Растеризація (Scanline) – метод, при якому зображення створюється прорахунком не окремих точок-пікселів, а цілих граней-полігонів і великих ділянок поверхонь. Текстури, що визначають властивості об'єктів, як і світло у сцені, зафіксовані як постійних даних. Отримуване зображення часто не відображає перспективних змін освітленості, глибини різкості і т. д. Найчастіше застосовується в системах для прорахунку сцен в іграх та відеопродакшені. Трасування променів (Raytracing) – фізика сцени прораховується на основі променів, що виходять з об'єктива віртуальної камери та аналізу взаємодії кожного променя з об'єктами, з якими він зустрічається у сцені. Залежно кількості і якості таких «відскоків» імітується відбиток чи заломлення світла, його колір, насиченість тощо. буд. Якість одержуваної картинки проти розтеризацією значно вище, але її реалістичність доводиться платити підвищеним витратою ресурсів. Розрахунок відбитого світла (Radiosity) – кожна точка, кожен піксель зображення наділяється кольором, який залежить від камери. На нього впливають глобальні та місцеві джерела світла та оточення. Такий метод дозволяє розрахувати появу поверхні моделі колірних і світлових рефлексів від поруч розташованих об'єктів. Практика показує, що найпросунутіші та найпопулярніші системи рендеру використовує поєднання всіх або основних методів. Це дозволяє досягти максимального фотореалізму та достовірності у відображенні фізичних процесів у даній сцені.

 

 

Це цікаво: