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

Методи рендерингуРедагувати

 
Фотореалістичний 3D-рендеринг 6 комп'ютерних вентиляторів[en] з використанням рендерингу з освітленням, DOF і процедурних матеріалів.

Рендеринг — це остаточний процес створення фактичного 2D-зображення або анімації з підготовленої сцени. Це можна порівняти з фотографією або зйомкою сцени після завершення її установки у реальному житті. Розроблено кілька різних, зазвичай спеціалізованих, методів рендеринга. Вони варіюються від чітко нереалістичного рендеринга каркасів за допомогою полігонального рендеринга, до більш просунутих методів, таких як: рендеринг Scanline, трасування променів та інші. Рендеринг може займати від частки секунди, до доби для одного зображення/кадра. Загалом, різні методи краще підходять для фотореалістичного рендеринга або рендеринга у реальному часі.

В режимі реального часуРедагувати

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

Рендеринг для інтерактивних медіа, таких як ігри та симуляції, обчислюється і відображається в реальному часі зі швидкістю приблизно від 20 до 120 кадрів в секунду. У режимі рендеринга в реальному часі мета полягає в тому, щоб показати якомога більше інформації, яку око зможе обробити за частку секунди. Основна мета — досягти у максимально можливій мірі фотореалізму при прийнятій мінімальній швидкості рендеринга (зазвичай 24 кадру в секунду, оскільки це мінімум, який людське око повинно бачити, щоб успішно створити ілюзію руху). Програмне забезпечення візуалізації може імітувати такі візуальні ефекти, як відблиски лінз, глибина різкості або розмитість зображення. Це спроби імітувати візуальні явища, пов'язані з оптичними характеристиками камер і людського ока. Ці ефекти можуть надати елементу сцени реалізму, навіть якщо ефект є всього лише імітованим артефактом камери. Це основний метод, який використовується в іграх, інтерактивних сценах та VRML. Швидке збільшення обчислювальної потужності комп'ютера дозволило прогресивно підвищити ступінь реалізму, навіть в режимі реального часу, включаючи такі методи, як HDR-рендеринг. У режимі реального часу рендеринг часто буває багатокутним і підтримується графічним процесором комп'ютера.

Не в режимі реального часуРедагувати

 
Приклад зображення створеного за допомогою трасування променів, яке зазвичай займає секунди або хвилини для рендерингу.
 
Комп'ютерно-згенероване зображення, створене Gilles Tran[en]

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

Коли метою є фотореалізм, використовуються такі методи, як трасування променів або освітлення. Це основний метод, який використовується в цифрових медіа та художніх роботах. Були розроблені методи для моделювання інших природних ефектів, таких як взаємодія світла з різними формами матерії. Приклади таких методів включають системи частинок (які можуть імітувати дощ, дим або вогонь), об'ємні промені[en] (для імітації туману, пилу), каустики (для імітації фокусування світла нерівними світлозаломлюючими поверхнями), і розсіювання під поверхнею (для імітації світла, що відбивається всередині твердих предметів, таких як шкіра людини).

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

Моделі відображення і затіненняРедагувати

Моделі відображення/розсіювання і затінення використовуються для опису зовнішнього вигляду поверхні. Хоча ці проблеми можуть здатися проблемами самі по собі, вони вивчаються майже виключно в контексті рендерингу. Сучасна тривимірна комп'ютерна графіка значною мірою покладається на спрощену модель відображення під назвою модель віддзеркалення Фонга (не слід плутати з затінюванням по Фонгу). При ламанні світла важливим поняттям є показник заломлення. У більшості реалізацій 3D-програмування термін для цього значення — «показник заломлення». Затінення може бути розбите на два різні методи, які часто вивчаються незалежно:

  • Затінення поверхні — як світло поширюється по поверхні (зазвичай використовується для рендерингу сканлайн для 3D-візуалізації в режимі реального часу в відеоіграх).
  • Відображення/розсіювання — як світло взаємодіє з поверхнею в даній точці (зазвичай використовується для рендерингу трасування променів для фотореалістичного і художнього 3D-рендеринга не у режимі реального часу).

Алгоритми затінення поверхніРедагувати

Популярні алгоритми затінення поверхні в 3D комп'ютерній графіці включають:

  • Плоске затінення: метод, який затінює кожен багатокутник об'єкта на основі «нормалей» полігонів, положення та інтенсивності джерела світла.
  • Затемнення по Гуро: винайдений А. Гуро в 1971 році, швидкий і ресурсозберігаючий метод вершинного штрихування, який використовується для імітації гладко затінених поверхонь.
  • Затемнення по Фонгу: винайдений Буйєм Туонгом Фонгом, використовується для імітації дзеркальних відблисків і гладких затінених поверхонь.

ВідображенняРедагувати

Відображення або розсіювання — це взаємозв'язок між вхідним і вихідним освітленням в даній точці. Опис розсіювання зазвичай дається в термінах двобічної функції розподілу розсіювання[en] або BSDF.

ЗатіненняРедагувати

Затінення адресується тому, як різні типи розсіювання розподілені по поверхні (тобто яка функція розсіювання там застосовується). Описи такого роду зазвичай виражаються за допомогою програми, званої шейдером. (Зверніть увагу, що є деяка плутанина, тому що слово «шейдер» іноді використовується для програм, що описують локальні геометричні варіації.) Простим прикладом затінення є відображення текстури, яке використовує зображення для вказівки дифузного кольору в кожній точці поверхні, надаючи йому більш явну деталізацію. Деякі методи затінення включають в себе:

  • Метод рельєфного текстурування: винайдений Д. Блінном[en], метод нормальних пертурбацій, який використовується для моделювання зморшкуватих поверхонь.
  • Сел-шейдинг: метод, який використовується для імітації зовнішнього вигляду мальованої анімації.

Теорія перенесення світлаРедагувати

Теорія перенесення світла[en] описує, як освітлення в сцені переміщається з одного місця в інше. Видимість — важлива складова теорії переносу світла.

ПроєкціяРедагувати

 
Перспективна проєкція.

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

Див. такожРедагувати

ПосиланняРедагувати