Realizam u 3D grafici: Principi i prednosti praćenja zraka

U ovom blog postu usredotočit ćemo se na „Realizam u 3D grafici: principi i prednosti praćenja zraka“.

 

Računalna grafika i renderiranje

Nakon pojave računala, kontinuirano istraživanje ulaznih i izlaznih uređaja dovelo je do izuma monitora, a ljudi su razvili razne grafičke tehnike za projiciranje slika i oblika na ekran. Počevši s prikazom jednostavnih dvodimenzionalnih objekata sastavljenih od točaka i linija, sada je moguće projicirati složene trodimenzionalne objekte na dvodimenzionalnu ravninu (monitor), a tehnologija postaje sve sofisticiranija. Ova se tehnologija u konačnici svodi na pitanje kako se trodimenzionalni virtualni prostor projicira na dvodimenzionalnu ravninu. Jednostavno rečeno, uključuje postavljanje objekata i izvora svjetlosti u virtualni prostor koji implementira zakone fizike, snimanje scene virtualnom kamerom i mapiranje pogleda kamere na ekran računala; ovaj niz procesa naziva se renderiranje.
Primarna svrha računalne grafike je projekcija slike. Stoga se niz gore opisanih procesa može sažeti kao zadatak projiciranja trodimenzionalnog virtualnog prostora na dvodimenzionalnu ravninu monitora implementacijom i primjenom potrebnih zakona fizike. Najvažniji zakoni fizike u ovom procesu su refleksija i lom svjetlosti. Kako svjetlost putuje kroz prostor i nailazi na objekt, njezina boja, svjetlina i put mijenjaju se ovisno o svojstvima objekta. U osnovi, bijela svjetlost - uključujući sunčevu svjetlost - sadrži valne duljine u cijelom vidljivom spektru, a njezina svjetlina određena je zbrojem energija valnih duljina sastavnica. Refleksija mijenja smjer svjetlosti pod kutom jednakim kutu upada, dok refrakcija određuje stupanj u kojem se svjetlost lomi na temelju razlike u gustoći između dva medija s obje strane površine. U oba slučaja, neke valne duljine se apsorbiraju na površini, smanjujući svjetlinu, a objekt može istovremeno posjedovati više svojstava.

 

Metode i ograničenja renderiranja

Općenito, scena u 3D grafici odgovara procesu izračuna, unutar virtualnog prostora, kako se svjetlost u stvarnosti reflektira i lomi od bezbrojnih objekata prije nego što dođe do naših očiju. Drugim riječima, nakon određivanja broja i smjera svjetlosnih zraka emitiranih iz virtualnog izvora svjetlosti, svaka se zraka prati u ravnoj liniji, a zakoni refleksije i refrakcije primjenjuju se za reflektiranje ili prijenos svjetlosti na površini objekta. Slika se zatim konstruira sintezom svjetlosnih informacija koje dopiru do položaja leće virtualne kamere. Iako je ova metoda intuitivna, ima nekoliko nedostataka. Prvo, budući da se svjetlost emitirana iz izvora svjetlosti mora podijeliti i izračunati prema smjeru, dijeljenje na premalo segmenata rezultira velikim pogreškama, dok dijeljenje na previše segmenata uzrokuje dramatično povećanje računalnog opterećenja. Osim toga, izračunata svjetlost mora doseći leću kamere da bi bila smislena, pa postoji problem da se mnogi izračuni koji ne dopiru do leće uzalud troše.
Kako bi se dobile visokokvalitetne slike, ovi se problemi moraju riješiti, ali to nije lak zadatak. Prvi se problem čini rješivim korištenjem visokoučinkovitih računala za finiju podjelu izvora svjetlosti; međutim, visokoučinkovita računala nisu lako dostupna općim korisnicima, a računalno opterećenje raste eksponencijalno kako raste broj podjela ili izvora svjetlosti. Ako se refleksije ili refrakcije događaju kontinuirano, čak i jedan izvor svjetlosti može rezultirati potrebom za izračunavanjem stotina ishoda. Drugi problem je temeljniji. U konačnici, nema razloga za izvođenje izračuna koji neće biti uključeni u konačni rezultat. Što je veći prostor u odnosu na vidno polje kamere, to je veća količina izgubljenog računanja. Posljedično, što ova metoda traži veću točnost, to je njezina neučinkovitost očitija.

 

Principi i prednosti praćenja zraka

Nakon kontinuiranog istraživanja, kao rješenje za ove probleme razvijeno je praćenje zraka. Umjesto praćenja svjetlosti emitirane iz izvora svjetlosti u smjeru prema naprijed, praćenje zraka prikuplja informacije praćenjem natrag od kamere. Zraka se emitira iz kuta gledanja virtualne kamere prema točki na leći koja odgovara pikselu na zaslonu, a ispituju se točke presjeka između te zrake i svakog modela (3D objekta). Među njima se identificira točka najbliža kutu gledanja; ako objekt posjeduje reflektirajuća, refrakcijska ili prozirna svojstva, primjenjuju se relevantni fizikalni zakoni za generiranje nove reflektirane ili lomljene zrake, koja se zatim emitira.
Ovaj se postupak ponavlja sve dok najbliža točka ne postane izvor svjetlosti. Kada zraka dosegne izvor svjetlosti, informacije o boji i svjetlini izvora svjetlosti kombiniraju se s izvorno emitiranom zrakom primjenom fizikalnih zakona koji su do sada korišteni obrnutim redoslijedom. Rezultirajuća kombinacija boje i svjetline postaje informacija za taj piksel. Iako se metoda izračuna razlikuje ovisno o obliku objekta, praćenje zraka ima prednost značajnog smanjenja računalnog opterećenja u usporedbi s tradicionalnim metodama renderiranja unaprijed, a istovremeno održava visoku kvalitetu. Također može generirati sjene određivanjem je li objekt prisutan između početne točke zrake i izvora svjetlosti, te je sposoban renderirati prozirne i zrcalne površine.
Ova metoda omogućila je relativno učinkovito prikazivanje visokokvalitetnih slika visoke rezolucije. Zbog prirode računala kao strojeva, ponekad se mora koristiti više metoda za implementaciju istih fizikalnih zakona, a kako tehnologija napreduje, sofisticiranije implementacije postaju moguće. Kao što je spomenuto u dokumentu, postoje primjeri slika koje primjenjuju napredne tehnike, poput nanošenja tekstura na površine objekata i korištenja različitih izvora svjetlosti. To pokazuje da se čak i problemi koji se u početku čine teškima za riješiti mogu riješiti korištenjem zaobilaznih rješenja ili alternativnih pristupa kada izravne metode nisu izvedive.

 

O autoru