Що таке 3D-рендеринг в CG Pipeline?

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

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

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

Два типи візуалізації

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

  1. Рендерінг у реальному часі. Рендеринг в реальному часі найбільш широко використовується в іграх та інтерактивній графіці, де зображення повинні бути розраховані на основі тривимірної інформації в неймовірно швидкому темпі. Оскільки неможливо точно передбачити, як гравець буде взаємодіяти з ігровим середовищем, зображення повинні відображатися в режимі реального часу в міру розвитку дії.
  2. Швидкість має значення: для того, щоб рух виглядав плавним, на екран має виводитися мінімум 18-20 кадрів на секунду. Щось менше, ніж це, і дія буде здаватися мінливою
  3. Методи. Рендеринг в реальному часі значно покращений завдяки спеціальному графічному обладнанню та попередній компіляції якомога більшої кількості інформації. Велика частина інформації про висвітлення ігрового середовища попередньо обчислюється і «запікається» безпосередньо у файлах текстур середовища для підвищення швидкості візуалізації.
  4. Автономний або попередній рендеринг. Автономний рендеринг використовується в ситуаціях, коли швидкість менш важлива, а обчислення зазвичай виконуються з використанням багатоядерних процесорів, а не виділеного графічного обладнання. Офлайн-рендеринг найчастіше спостерігається в анімації та роботі з ефектами, де візуальна складність і фотореалізм підтримуються на набагато вищому рівні. Оскільки немає непередбачуваності щодо того, що з'явиться в кожному кадрі, відомо, що великі студії відводять до 90 годин часу рендерінгу окремим кадрам.
  5. Фотореалізм. Оскільки автономний рендеринг відбувається протягом необмеженого періоду часу, можна досягти більш високих рівнів фотореалізму, ніж при рендерингу в реальному часі. Для персонажів, оточення і пов'язаних з ними текстур і джерел світла зазвичай допускається більша кількість полігонів і файли текстур з роздільною здатністю 4k (або вище).

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

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

  • Scanline (або растеризація). Рендеринг Scanline використовується, коли необхідна швидкість, що робить його кращим методом візуалізації в реальному часі та інтерактивної графіки. Замість візуалізації зображення попіксельно, сканери відсканованих ліній обчислюються на основі багатокутника. Методи сканування, які використовуються у поєднанні з попередньо обчисленим (запеченим) освітленням, можуть досягати швидкості 60 кадрів на секунду або краще на високоякісній відеокарті.
  • Трасування променів: при трасуванні променів для кожного пікселя в сцені один або кілька променів світла відстежуються від камери до найближчого тривимірного об'єкта. Потім промінь світла пропускається через певну кількість «відскоків», які можуть включати відображення або заломлення залежно від матеріалів у 3D-сцені. Колір кожного пікселя обчислюється алгоритмічно на основі взаємодії променя світла з об'єктами на його трасі. Трасування променів здатне до більшого фотореалізму, ніж сканування, але експоненційно повільніше.
  • Radiosity: на відміну від трасування променів, radiosity розраховується незалежно від камери і орієнтується на поверхню, а не попіксельно. Основна функція випромінювання полягає в більш точному моделюванні кольору поверхні шляхом обліку непрямого освітлення (відображеного розсіяного світла). Радіозалежність зазвичай характеризується м'якими градуйованими тінями і кольоровою кровотечею, при якій світло від яскраво пофарбованих об'єктів «перетікає» на прилеглі поверхні.

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

Програмне забезпечення візуалізації

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

Два найпоширеніші двигуни візуалізації

  • Mental Ray: у комплекті з Autodesk Maya. Mental Ray неймовірно універсальний, відносно швидкий і, ймовірно, самий компетентний рендеринг для зображень персонажів, які потребують підповерхневого розсіяння. Mental ray використовує комбінацію трасування променів і «глобального освітлення» (radiosity).
  • V-Ray: ви зазвичай бачите, як V-Ray використовується разом з 3DS Max - разом пара абсолютно не має собі рівних в архітектурній візуалізації та візуалізації середовища. Головними перевагами VRay перед конкурентом є його інструменти освітлення і велика бібліотека матеріалів для arch-viz.

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