Globalno osvjetljenje
Pojednostavljeno gledano razlikujemo dva osnovna modela osvjetljenja: lokalni i globalni. Karakteristike lokalnog modela su sjenčanje temeljeno na izravnoj izloženosti izvorima svjetlosti i nepostojanje sjena. S druge strane globalno osvjetljenje uzima u obzir sjene kao posljedicu blokiranog puta svjetlosti, višestruke refleksije svjetlosti od izvora svjetlosti do oka i potpuno uračunavanje odaslane svjetlosne energije. Tipični, komercijalno korišteni algoritmi za aproksimaciju jednadžbe globalnog osvjetljenja su praćenje zraka svjetlosti i izračenje. Osim njih koristi se i tehnika mapiranja fotona, te za najtočnije rezultate Monte Carlo simulacija.
Postoji čitav niz algoritama koji se danas koriste u cilju postizanja naravne računalne predodžbe vizualne stvarnosti, no osim čistokrvne Monte Carlo simulacije prostiranja svjetlosnog zračenja, nijedan od njih pojedinačno nije u stanju u potpunosti prikazati pravo ravnotežno stanje svjetlosnog toka opisanog jednadžbom globalnog osvjetljenja. Jedan od načina podjele takvih algoritama je po vrsti svjetlosnih interakcija, odnosno svjetlosnih putanja koje su sposobni simulirati. Da stvari budu maksimalno jednostavne pretpostavimo da postoje samo dva tipa svjetlosnih raspršenja: općenito raznosmjerna (R) i općenito zrcalna (Z). U opisivanju takvih putanja krećemo od izvora svjetlosti (I) i završavamo u oku (O).
Sada sve moguće svjetlosne putanje možemo definirati sljedećim regularnim izrazom: I(R|Z)*O. (*) naznačuje da se izraz u zagradama može ponoviti proizvoljno mnogo puta)
Primjer nekih najuobičajenijih putanja svjetlosti:
IO – svjetlo ide izravno iz izvora u oko
IRO – svjetlo putuje od izvora i odbija se od difuzne površine vidljive promatraču
IZO – svjetlo se na putu od izvora reflektira na zrcalu
I(Z|R)O – svjetlo se reflektira ili na difuznoj ili na zrcalnoj površini
Tipične današnje računalne igre pisane za DirectX ili OpenGL API u stanju su simulirati svjetlosne putanje samo oblika: LR? Z? E. Dakle, nedostaju im višestruke difuzne refleksije tipa L D* E koje se još uvijek aproksimiraju konstantom ambijentalnog osvjetljenja, lomom svjetlosti kroz prozirne plohe i općenito višestrukim zrcalno-raznosmjernim refleksijama. (? je sufiksni operator koji naznačuje da se prethodeći mu izraz može, ali i ne mora obistiniti).
Za spomenuti je na ovom mjestu da naivna implementacija praćenja zraka obuhvaća samo putanje tipa LR? Z*E, dok obično izračenje može simulirati samo putanje tipa LR*E. U slučaju da se koristi dvosmjerno Praćenje zraka, odnosno Praćenje zraka s mapiranjem fotona, spektar simuliranih putanja proširuje se na LZ* R? Z* E.