Vykresľovací proces zohráva kľúčovú úlohu v cykle vývoja počítačovej grafiky . Nebudeme príliš veľa hĺbky, ale žiadna diskusia o plynovode CG by bola úplná bez toho, aby sme sa aspoň zmieňovali o nástrojoch a metódach na vykresľovanie 3D obrazov.
Rovnako ako rozvíjanie filmu
Vykresľovanie je technicky najzložitejším aspektom 3D produkcie, ale v kontexte analógie sa to dá úplne ľahko pochopiť: podobne ako filmový fotograf musí rozvinúť a vytlačiť svoje fotografie skôr, než sa môžu zobraziť, profesionáli počítačovej grafiky sú zaťažení podobným nutnosťou.
Keď umelec pracuje na 3D scéne , modely, ktoré manipuluje, sú vlastne matematické znázornenie bodov a povrchov (presnejšie vrcholy a polygóny) v trojrozmernom priestore.
Termín vykresľovanie sa vzťahuje na výpočty vykonané pomocou renderovacieho motora 3D softvérového balíka na preklad scény z matematickej aproximácie do finalizovaného 2D obrazu. Počas procesu sa priestorové, textúrne a svetelné informácie celej scény kombinujú, aby sa určila farebná hodnota každého pixelu v sploštenom obraze.
Dva typy vykresľovania
Existujú dva hlavné typy vykresľovania, pričom hlavným rozdielom je rýchlosť, ktorou sa obrazy vypočítavajú a finalizujú.
- Rendering v reálnom čase: Rendering v reálnom čase sa používa najdôležitejšie v hernej a interaktívnej grafike, kde sa obrazy musia vypočítavať z 3D informácií s neuveriteľne rýchlym tempom.
- Interaktivita: Pretože nie je možné presne predpovedať, ako hráč bude interagovať s prostredím hry, obrazy sa musia vykresliť v reálnom čase, keď sa činnosť odohráva.
- Otázky rýchlosti: Aby sa pohyb mohol prejaviť tekutinou, musí sa na obrazovku zobraziť minimálne 18 až 20 snímok za sekundu. Čokoľvek menšie ako toto a akcia sa zdajú roztrhané.
- Metódy: Vykresľovanie v reálnom čase sa drasticky vylepšuje pomocou vyhradeného grafického hardvéru (GPU) a predbežným zostavovaním čo najväčšieho množstva informácií. Veľké množstvo informácií o osvetlení herného prostredia je predbežne vypočítané a "pečené" priamo do textúrnych súborov prostredia, aby sa zlepšila rýchlosť renderovania.
- Offline alebo predrenderovanie: Vykresľovanie offline sa používa v situáciách, kde je rýchlosť menej problémom, pričom výpočty sa zvyčajne vykonávajú pomocou viacjadrových procesorov, a nie ako vyhradený grafický hardvér.
- Predvídateľnosť: Renderovanie offline je najčastejšie zaznamenávané v animácii a efektoch, kde je vizuálna zložitosť a fotorealizmus udržiavané na oveľa vyššej úrovni. Keďže neexistuje žiadna nepredvídateľnosť toho, čo sa objaví v každom okamihu, je známe, že veľké štúdiá venujú až 90 hodín vykresľovania jednotlivých rámiek.
- Fotorealizmus: Pretože rendering v režime offline sa vyskytuje v rámci otvoreného časového rámca, je možné dosiahnuť vyššie úrovne fotorealismu než v renderovaní v reálnom čase. Znaky, prostredie a súvisiace textúry a svetlá sú spravidla povolené s vyšším počtom polygónov a 4k (alebo vyšším) rozlíšením textúr.
Techniky renderingu
Na väčšinu renderovania sa používajú tri hlavné výpočtové techniky. Každý z nich má svoj vlastný súbor výhod a nevýhod, ktoré v určitých situáciách robia všetky tri životaschopné možnosti.
- Scanline (alebo rasterizácia): Scanline vykresľovanie sa používa, keď je rýchlosť nutnosťou, čo z nej robí techniku voľby pre rendering v reálnom čase a interaktívnu grafiku. Namiesto vykreslenia obrázka pixel-za-pixelom vykresľovače skenovania vypočítajú na polygóne podľa mnohouholníka. Skenovacie techniky používané v spojení s predkompilovaným (pečatým) osvetlením môžu dosiahnuť rýchlosť 60 snímok za sekundu alebo vyššiu na grafickej karte vyššej triedy.
- Raytracing: V raytracingu sa pre každý pixel v scéne vysleduje jeden (alebo viac) lúčov svetla z kamery na najbližší 3D objekt. Svetelný lúč potom prechádza určitým počtom "skákaní", ktoré môžu zahŕňať odraz alebo lom v závislosti od materiálov v 3D scéne. Farba každého pixelu je vypočítaná algoritmicky na základe interakcie svetelného lúča s objektmi vo svojej sledovanej ceste. Raytracing je schopný väčšieho fotorealizmu ako scanline, ale je exponenciálne pomalší.
- Radiosť: Na rozdiel od raytracingu sa rádiozita vypočítava nezávisle od kamery a je skôr povrchovo orientovaná ako pixel po pixeli. Primárnou funkciou radiosity je presnejšie simulovať farbu povrchu účtovaním nepriameho osvetlenia (odrazené difúzne svetlo). Radiosť je typicky charakterizovaná mäkkými odstupňovanými tieňmi a farebným krvácaním, kde svetlo z jasne sfarbených objektov "krváca" na blízke plochy.
- V praxi sa rádiozity a raytracing často používajú v spojení navzájom, využívajúc výhody každého systému na dosiahnutie pôsobivých úrovní fotorealismu.
Softvér na vykresľovanie
Aj keď vykresľovanie závisí na neuveriteľne sofistikovaných výpočtoch, dnešný softvér poskytuje ľahko pochopiteľné parametre, ktoré robia tak, aby sa umelec nikdy nemusel zaoberať základnou matematikou. Riadiaci motor je súčasťou každého hlavného 3D softvérového balíka a väčšina z nich zahŕňa materiálové a osvetľovacie balíky, ktoré umožňujú dosiahnuť úžasnú úroveň fotorealismu.
Dva najbežnejšie vykresľovacie motory:
- Mental Ray - Balené s aplikáciou Autodesk Maya. Mental Ray je neuveriteľne všestranný, pomerne rýchly a pravdepodobne najviac kompetentný vykresľovač pre znakové obrázky, ktoré potrebujú podpovrchový rozptyl. Mental ray používa kombináciu raytracingu a "globálneho osvetlenia" (rádiosity).
- V-Ray - Zvyčajne vidíte V-Ray používané v spojení s 3DS Max-spoločne, dvojica je absolútne bezkonkurenčná pre architektonickú vizualizáciu a vizualizáciu prostredia. Hlavnými výhodami spoločnosti VRay nad jej konkurentom sú jej osvetľovacie nástroje a rozsiahla knižnica materiálov pre arch-viz.
Rendering je technická téma, ale môže byť celkom zaujímavá, keď naozaj začnete hlbšie pozerať na niektoré bežné techniky.