Što je praćenje zraka?

Otkako je Nvidia 2018. objavila svoje 20-serije RTX grafičke kartice, njegova ubojita značajka, "praćenje zraka" je popularan izraz u krugovima video igrica. Ali može biti teško razumjeti što je praćenje zraka, kako funkcionira i zašto izgleda bolje od prethodnih tehnika.

Što je praćenje zraka i kako funkcionira?

U stvarnom svijetu kada nešto vidite, ono što vidite je foton iz izvora svjetlosti. Na svom putu do vas, taj foton se možda reflektirao od jedne ili više površina. Svaki odraz mijenja karakteristike svjetla koje dopire do vaših očiju.

Sunce emitira širok raspon boja svjetlosti, svaka površina upija dio svjetlosti, a reflektira drugu. Ono što vidimo kao zelenu površinu, kao što je list, izgleda tako jer reflektira uglavnom zeleno svjetlo. Ako svjetlost koja se reflektira od lista udari u drugu površinu, kao što je bijeli zid, tada će ta površina izgledati nešto drugačije nego što bi bila da na nju sja čisto bijelo svjetlo. Svaki odraz utječe na svaku buduću površinu s kojom svjetlost stupa u interakciju, mijenjajući njezin intenzitet i vidljivu boju.

Traganje zraka je grafička tehnika koja slijedi iste principe. Zrake svjetlosti se projiciraju, izračunavaju se svojstva reflektirane i lomljene svjetlosti, kao što je boja, i zraka nastavlja putovati.

U stvarnom svijetu svaki izvor svjetlosti, poput žarulje ili Sunca, emitira fotone u svim smjerovima, od kojih velika većina nikada ne dopire do vaših očiju. Simulacija ovoga bio bi suludo intenzivan proces koji proizvodi uglavnom izgubljen rezultat. Kako bi se smanjilo radno opterećenje, praćenje zraka radi u obrnutom smjeru, projicirajući zrake iz kamere. Svaka zraka smije prijeći određenu udaljenost bez refleksije ili reflektirati određeni broj puta prije nego što se izvedu izračuni i postavi vrijednost piksela.

Na primjer, zraka se baca iz perspektive gledatelja, kada udari u bijeli zid, algoritam rekurzivno generira reflektirana zraka koja zatim putuje kroz plavo staklo, konačno, reflektirana zraka pogađa izvor bijele svjetlosti i upijao. Plavo staklo apsorbira svu svjetlost osim plave koja baca plavo svjetlo na zid, što rezultira plavom bojom piksela.

Zašto Ray Tracing izgleda mnogo bolje?

Standardna metoda renderiranja scena u stvarnom vremenu uključuje korištenje unaprijed izračunatih svjetlosnih karata i rasvjete cijele scene. Neke igre koriste ograničenu volumetrijsku rasvjetu kako bi uključile pokretne izvore svjetla i omogućile dinamičke sjene, ova tehnika se koristi štedljivo, iako je prilično intenzivna za procesor.

Praćenje zraka može postići fotorealističan rezultat ako se dodatno poradi u fazi dizajna igre. Ako sve površine uključuju detalje kao što su reflektivnost, prozirnost i način na koji će se svjetlost lomiti kroz njih, ukupni rezultat može izgledati prirodnije. Iako ovaj pristup očito uključuje više rada u fazi dizajna igre, omogućuje da se rezultat pojavi fotorealističan sa svjetlom koje reagira onako kako bi trebalo kada se reflektira od betona, metala, drveta i stakla itd.

Praćenje zraka omogućuje točne refleksije i sjene kao dio procesa renderiranja. u tradicionalnim metodama renderiranja, oba ova učinka su potpuno neobavezna i mogu uzrokovati značajne rezultate u izvedbi.

Samo praćenje zraka dolazi s golemim uspjehom. Sve dok nisu najavljene Nvidijine RTX grafičke kartice s hardverskim ubrzanjem za praćenje zraka, smatralo se da je potrebna procesorska snaga za izvođenje praćenja zraka u stvarnom vremenu u softveru bila više od desetljeća daleko. Čak i uz hardversko ubrzanje, praćenje zraka i dalje uzrokuje značajno smanjenje performansi jer je još uvijek najsporiji dio renderiranja okvira.