Metoda praćenja zrake (engl. ray tracing)

Marija Arki i Luka Majstorović

Što je metoda praćenja zrake?

Praćenje zraka (eng. ray tracing) korištenje je puta kojim svjetlost prolazi kroz piksele kako bi stvorila sliku. Ono simulira efekt svjetlosnih zraka na objekte na koje nailaze. Slike stvorene praćenjem zraka obično su bolje kvalitete i imaju viši stupanj realizma, ali potrebno je puno više vremena kako bi se napravile te zahtijevaju više računalne snage. Stoga, praćenje zraka najčešće se koristi za stvaranje nepokretnih slika.

Na koji način radi?

Softver ray tracer simulira put pojedinačnih svjetlosnih zraka od virtualnog izvora svjetlosti do virtualne leće kamere. Virtualna svjetlosna zraka može proći kroz volumen atmosfere i imati kontakt s površinama materijala (metal, staklo, voda i sl.). Praćenje zraka može generirati vrlo realistične slike, ali je računski skupo, stoga i vrlo sporo. Na primjer, svaki kadar računalno animiranog filma Monsters University (Pixar, 2013.), zahtijevao je 29 sati za renderiranje. Pri 24 sličica u sekundi,
110-minutni film ima približno 160.000 sličica. Pixar je koristio masivni Render farm kako bi ga dovršio za nekoliko mjeseci.

Praćenje zraka u prirodi

U prirodi, izvor svjetlosti emitira zraku svjetlosti koja na kraju putuju do površine koja ju prekida. Ovu "zraku" možemo zamisliti kao tok fotona koji putuje istim putem. U savršenom vakuumu ova zraka bi bila ravna linija. U stvarnosti se s ovom svjetlosnom zrakom može dogoditi bilo koja kombinacija triju stvari: apsorpcija, refleksija i lom. Površina može reflektirati cijelu ili dio svjetlosne zrake, u jednom ili više smjerova. Također, može apsorbirati dio svjetlosne zrake, što rezultira gubitkom intenziteta reflektirane ili lomljene svjetlosti. Ako površina ima bilo kakva transparentna svojstva, ona lomi dio svjetlosnog snopa u sebe, dok dio apsorbira i eventualno promijeni boju. Neke od zraka putuju na takav način da pogađaju naše oko, uzrokujući da vidimo scenu i tako doprinose konačnoj prikazanoj slici. Pokušaj simulacije ovog stvarnog procesa praćenja svjetlosnih zraka pomoću računala može se smatrati besmislenim, jer bi samo mali djelić zraka u sceni zapravo dospio do oka.

Vrste praćenja zrake

1. Praćenje zraka prema naprijed (eng. Forward Ray Tracing)
Praćenje zraka prema naprijed prati svjetlosne čestice (fotone) od izvora svjetlosti do objekta. Iako praćenje zraka prema naprijed može najtočnije odrediti boju svakog objekta, vrlo je neučinkovito. Razlog tome je što mnoge zrake iz izvora svjetlosti nikada ne prolaze kroz ravninu gledanja u oko. Praćenje svake svjetlosne zrake od izvora svjetlosti prema dolje znači da mnoge zrake neće doprinijeti konačnoj slici kako se vidi okom. Praćenje zraka prema naprijed poznato je i kao praćenje svjetlosnih zraka i fotonsko praćenje.

2. Praćenje zraka prema natrag (eng. Backward Ray Tracing)
Kako bi praćenje zraka bilo učinkovitije, uvodi se metoda praćenja zraka unatrag. U praćenju zraka unatrag, zraka se kreira u oku, prolazi kroz ravninu pogleda i dalje u svijet. Prvi objekt na koji očna zraka udari je objekt koji će biti vidljiv s te točke gledišta. Nakon što tracer zraka dopusti toj svjetlosnoj zraki da se odbija, otkriva točnu boju i sjenčanje te točke u ravnini prikaza i prikazuje je na odgovarajućem pikselu na zaslonu monitora računala. Traženje zraka unatrag poznato je i kao praćenje zraka u očima.

3. Hibridno praćenje zraka (eng. Hybrid Ray Tracing)
Budući da i praćenje zraka prema naprijed i praćenje zraka unatrag imaju svoje nedostatke, nedavna istraživanja pokušavaju razviti hibridna rješenja koja će uskladiti brzinu i točnost. U ovim hibridnim rješenjima izvode se samo određene razine praćenja zraka prema naprijed. Algoritam bilježi podatke, a zatim nastavlja s praćenjem zraka unatrag. Završno bojenje scene uzima u obzir i izračune praćenja zraka unatrag i proračuna praćenja zraka prema naprijed.