Rendering
Efter modellering, materialskapande, ljussättning och eventuell animation är det dags att låta datorn beräkna hur allt ska se ut. I detta steg omvandlas vår 3D-scen till färdiga bilder eller filmklipp. Men hur vet datorn hur bilden ska se ut? Vad är skillnad på realtidsgrafik och ray tracing? I detta kapitel tittar vi närmre vad rendering innebär.
Vad är rendering?
Rendering är processen där datorn omvandlar vår 3D-scen till en tvådimensionell bild eller film som vi kan dela med andra. Det bygger på avancerad matematik där datorn simulerar hur ljus rör sig i scenen, hur det studsar, absorberas, reflekteras och bryts, och allt detta beräknas pixel för pixel.
Detta är en mycket tung process då datorn måste ha koll på allt som finns i scenen:
3D-modeller - alla ytor i scenen och dess placering
Material – dess färg, egenskaper, hur de reagerar på ljus etc.
Ljus & skuggor – hur studsar ljuset, var landar skuggor etc.
Animation – hur är objektens rörelse, hur snabbt färdas de etc.
Övriga effekter – t.ex dimma
Kamerans inställningar
Hur går det till att rendera?
Rendering är något som datorn gör men vi måste ge den instruktioner på hur vi vill att den ska göra detta. Hur exakta måste beräkningarna vara? Detta är en balansgång mellan tid och kvalitet och styrs av scenens komplexitet när det kommer till objekt, material, ljuskällor etc.
Men innan datorn kan börja räkna måste vi ge den något att utgå från, en kamera.
Kameran
Som jag nämnt i tidigare kapitel har vi även i 3D-visualisering en kamera i scenen som låter oss fånga vår bild. Denna är en digital representation av en verklig kamera och vi kan med den göra inställningar som:
Brännvidd
Bländare och skärpedjup
Slutarhastighet
Censorstorlek
Samt att vi kan placera och animera den i vår 3D-miljö. Det är alltså med denna som vi styr vad som ska synas i vår rendering och vi kan animera och simulera dens beteende för att efterlikna verkligheten. Många säger att en fotograf måste jobba med kamerans begränsningar, vår kamera har inga så vi gör allt för att härma dessa så gott vi kan för att vårt resultat ska uppfattas som realistiskt.
Ray tracing
Ray tracing är den mest realistiska metoden, den simulerar exakt hur ljusstrålar beter sig i verkligheten men omvänt.
Tänk så här, när vi själva fotar har vi fullt med ljus som bär på information och kameran kan fånga dessa utan att behöva tänka. Skulle vi göra så i vår 3D-scen hade vi inte haft någon dator som orkat processa all information som studsar runt. Lösningen är att vi istället skickar “strålar” ifrån vår kamera och på så sätt kan datorn fokusera på att beräkna endast det ljus som kommer ha betydelse för vår rendering.
Så en “stråle” skickas från vår kamera och träffar en yta, den ytan har en riktning och ett material som berättar för datorn hur den ska beräknas. Detta ihop med information om direkt ljus från en ljuskälla, reflekterat ljus från andra objekt och eventuella skuggor gör att datorn kan beräkna vilken färg vår pixel ska ha.
Detta tar fortfarande mycket kraft men som sagt vi får det mest fotorealistiska resultatet.
Realtidsgrafik
Realtidsgrafik innebär att 3D-bilder renderas omedelbart och används framför allt i spel, AR/VR, men vi kan också använda det i vårt arbete. I stället för att simulera ljusets exakta beteende (som ray tracing gör), använder realtidsgrafik smarta förenklingar och genvägar för att ta fram bilden. Genom att strunta i parametrar som är tunga för datorn att räkna på och att optimera våra modeller, material och ljus i scenen kan vi snabbt få fram snygga renderingar även om de inte är exakt återgivna.
Datorer och mjukvara blir bara bättre och gränsen mellan realtid och fotorealism suddas ut mer och mer, så bara för att denna metod är mindre exakt, betyder det inte att det ger ett dåligt resultat.
Vad påverkar renderingstiden?
Rendering kan snabbt bli en flaskhals, särskilt vid animation. En minut film med 30 bilder per sekund = 1800 bilder. Skulle vi kunna få ner tiden på vår rendering med 20 sekunder per bild/frame sparar vi totalt 10h. Ni förstår att optimering är en stor del av vårt yrke som 3D-grafiker.
Det som styr renderingstiden är bl.a.:
Upplösning – på vår slutbild, större bild = längre tid
Materialens komplexitet – stora bilder i vår textur eller material som absorberar ljus är tunga att beräkna.
Ljuskällor – antal och hur skuggor faller
Kamera-effekter – så som skärpedjup, motion blur
Animationer & simuleringar – ytterligare beräkningar för datorn
Datorns prestanda (CPU/GPU)
Genom att ha koll på detta kan vi redan från början av vårt projekt styra vad vi ska lägga kraft på och vad som skulle kunna “fuskas” fram. Vissa saker kan vi lägga till efteråt i postproduktion och andra kan vi mer skapa en illusion utav mer än att de är fysiskt korrekta.
Sammanfattning
Rendering är processen som omvandlar vår 3D-scen till färdig bild eller film. Det är en simulering av hur ljuset studsar och interagerar med våra 3D-objekt och styrs utifrån vår kamera. Med ray tracing får vi högsta realism men på bekostnad av prestanda, medan vi med realtidsgrafik får en snabb rendering men som inte är lika exakt i dess beräkningar. Eftersom rendering ofta är den mest tidskrävande delen av produktionen gäller det att optimera smart, både tekniskt och kreativt.
Nu har vi en snygg bild att visa upp men för att ta vår rendering till nästa nivå krävs efterbearbetning i det som vi kallar postproduktion, vilket är vårt sista stopp på denna resa.
