Процесът на рендиране играе решаваща роля в цикъла на разработка на компютърни графики . Тук няма да стигнем до голяма дълбочина, но няма да бъде обсъждане на газопровода CG, без да се споменават най-малко инструментите и методите за изобразяване на триизмерни изображения.
Подобно на развиващия се филм
Изработването е най-технически сложният аспект на 3D продукцията, но всъщност може да се разбира съвсем лесно в контекста на една аналогия: Много прилича на филмов фотограф, който трябва да разработи и отпечата снимките си, преди те да бъдат показани, необходимост.
Когато един художник работи върху 3D сцена , моделите, които той манипулира, всъщност представляват математическо представяне на точки и повърхности (по-точно върхове и многоъгълници) в триизмерното пространство.
Терминът " рендиране" се отнася до изчисленията, извършени от двигателя за изобразяване на 3D софтуерен пакет, за превеждане на сцената от математическо сближаване до финализирано 2D изображение. По време на процеса пространствената, текстова и осветителна информация на цялата сцена се комбинират, за да се определи цветната стойност на всеки пиксел в сплесканото изображение.
Два вида преобразуване
Има два основни вида рендиране, като основната им разлика е скоростта, при която изображенията се изчисляват и финализират.
- Изпълнение в реално време: Изпълнението в реално време се използва най-вече в гейминг и интерактивна графика, където изображенията трябва да се изчисляват от 3D информация с невероятно бързи темпове.
- Интерактивност: Тъй като е невъзможно да се предскаже точно как един играч ще взаимодейства с средата на играта, изображенията трябва да бъдат изобразени в "реално време", когато действието се разгръща.
- Скоростни въпроси: За да може движението да изглежда флуидно, на екрана трябва да се подаде минимум 18 - 20 кадъра в секунда. Нещо по-малко от това и действието ще изглеждат накъсани.
- Методите: Рендирането в реално време се подобрява драстично чрез графичен хардуер (графични графични процесори) и чрез предварително съставяне на възможно най-голяма информация. Голяма част от информацията за осветлението на игровата среда е предварително изчислена и "печена" директно в текстовите файлове на околната среда, за да се подобри скоростта на рендиране.
- Офлайн или предварително преобразуване : офлайн изобразяването се използва в ситуации, при които скоростта е по-малка от проблем, като изчисленията обикновено се извършват чрез използване на многоядрени процесори, а не на специален графичен хардуер.
- Предсказуемост: офлайн изобразяването се вижда най-често в анимацията и ефекта на работа, където визуалната сложност и фотореализмът се задържат на много по-висок стандарт. Тъй като няма никаква непредсказуемост по отношение на това, което ще се появи във всеки кадър, е известно, че големите студия отделят време до отделни рамки до 90 часа.
- Фотореализъм: Тъй като офлайн изобразяването се осъществява в рамките на неограничен период от време, могат да бъдат постигнати по-високи нива на фотореализъм, отколкото при рендиране в реално време. Степените, средите и свързаните с тях текстури и светлини обикновено имат по-висок брой полигони и 4k (или по-високи) текстови файлове с разделителна способност.
Техники за изобразяване
Има три основни изчислителни техники, използвани за повечето изображения. Всеки от тях има свой набор от предимства и недостатъци, които правят и трите жизнеспособни варианта в определени ситуации.
- Scanline (или rasterization): Scanline rendering се използва, когато скоростта е необходимост, което я прави техника за избор в реално време на изобразяване и интерактивна графика. Вместо да се изобрази pixel-by-pixel на изображението, рендерите на сканирането се изчисляват на полигон на многоъгълник. Scanline техниките, използвани в комбинация с предварително компресирано осветление, могат да постигнат скорост от 60 кадъра в секунда или по-добра на графична карта от висок клас.
- Raytracing: При raytracing, за всеки пиксел в сцената се проследяват един (или повече) лъчи светлина от камерата до най-близкия 3D обект. Светлинният лъч след това преминава през определен брой "отскачания", които могат да включват отражение или пречупване в зависимост от материалите в 3D сцената. Цветът на всеки пиксел се изчислява алгоритмично въз основа на взаимодействието на светлинния лъч с обектите в проследявания му път. Raytracing е способен на по-голям фотореализъм от сканирането, но е експоненциално по-бавен.
- Радионност: За разлика от raytracing, radiosity се изчислява независимо от камерата и е повърхностно ориентиран, а не пиксел-по-пиксел. Основната функция на радиоактивността е да се симулира по-точно цвета на повърхността, като се отчита непрякото осветление (отразена дифузна светлина). Радионността обикновено се характеризира с меки градуирани сенки и цветно кървене, където светлина от ярко оцветени предмети "кърви" върху близки повърхности.
- На практика честотата на радиоразпръскване и райсинга често се използват заедно, като се използват предимствата на всяка система за постигане на впечатляващи нива на фотореализъм.
Софтуер за показване
Въпреки че рендирането се основава на невероятно изтънчени изчисления, днешният софтуер осигурява лесни за разбиране параметри, които го правят, така че художникът никога не се нуждае от работа с основната математика. В повечето големи 3D софтуерни пакети се включва рендерен двигател, като повечето от тях включват материали и осветителни пакети, които позволяват да се постигне зашеметяващо ниво на фотореализъм.
Двете най-често срещани двигатели за предаване:
- Mental Ray - Опаковани с Autodesk Maya. Mental Ray е невероятно универсален, сравнително бърз и вероятно най-компетентен рендерир за изображения на знаци, които се нуждаят от подземно разсейване. Психическият лъч използва комбинация от "raytracing" и "глобално осветление" (радиоактивност).
- V-Ray - Обикновено виждате V-Ray, използван заедно с 3DS Max - заедно двойката е абсолютно несравнима за архитектурната визуализация и рендиране на средата. Основните предимства на VRay над конкурента са осветителните инструменти и екстензивната библиотека за архиви.
Представянето е техническа тема, но може да бъде доста интересно, когато наистина започнете да разглеждате по-задълбочено някои от общите техники.