Traganje zraka vs rasterizirano prikazivanje - objašnjeno

Nakon pokretanja Nvidijine obitelji Turing GPU-a u 2018. godini, svijet igara zabilježio je eksponencijalni porast u raspravi o značajci poznatoj kao 'Traganje zraka'. Nvidijina tada potpuno nova serija 'RTX' grafičkih kartica donijela je podršku za nešto što se naziva 'Traženje zraka u stvarnom vremenu' u igrama. Većina ljudi nije bila sigurna što je to nova značajka i zašto ju je Nvidia toliko gurnula, ali istodobno su bili uzbuđeni i zainteresirani za tehnologiju. Ray Tracing bio je toliko važan po Nvidiji da su smatrali potrebnim to staviti u pravo ime proizvoda koje su lansirali. Nova GeForce “RTX” serija kartica zamijenila je stariju sortu “GTX” kada su u pitanju vrhunski SKU-ovi poput 60,70,80 i -80Ti SKU-ova koje Nvidia obično izdaje.



Nvidia GeForce RTX 3080 jedna je od najbržih grafičkih kartica koje podržavaju praćenje zraka - Slika: Nvidia

Nvidijina serija RTX 2000 grafičkih kartica donijela je nekoliko hardverskih promjena koje su omogućile podršku za Ray Tracing u igrama. Nove grafičke kartice temeljene na Turingu spakirale su posebne jezgre koje su bile posvećene ovom procesu i bile su poznate kao RT jezgre. Svrha RT jezgri bila je specifično rukovati svim grafičkim proračunima koji su bili potrebni kako bi se omogućilo praćenje zraka u stvarnom vremenu u igrama. Nvidia je također dodala kartice s dodatnim CUDA jezgrama kako bi povećala sirovu snagu kartica, dodajući pritom i novi set jezgri poznat kao Tensor Cores. Te su jezgre trebale pomoći u dubokom učenju i aplikacijama za inteligenciju, kao što je novi oblik tehnike nadogradnje poznat kao Super uzorkovanje dubokog učenja. Već smo detaljno raspravljali o dubokom učenju o super uzorkovanju ili DLSS-u ovaj članak , gdje možete saznati više o tehnici povećanja na AI.



Traganje zraka nije novo

Iako se na prvi pogled može činiti da je Ray Tracing nova tehnologija koju je pionir Nvidia, istina je zapravo daleko od toga. Da, Nvidia je prva tvrtka koja je implementirala podršku za Ray Tracing u stvarnom vremenu u igrama, ali to ne znači da Ray Tracing nije postojao prije RTX serije. Vjerojatno već godinama uživate u tome, a da to niste znali ako ste pogledali bilo koji noviji film koji sadrži CGI efekte.



Traganje zraka već se koristi u drugim područjima poput filmova - Slika: Nvidia



Implementacija u filmove doduše je malo drugačija i puno intenzivnija od igraće verzije. Velike proračunske produkcije imaju luksuz da mogu potrošiti veliku količinu novca i vremena na prikazivanje tih scena. Izvješteno je da su popularni animirani filmovi koristili oko 1000 superračunala za prikazivanje cijelog filma s Ray Tracing efektima tijekom jednog mjeseca. Takvi procesi prikazivanja velikih razmjera naravno nisu izvedivi ili mogući za prosječnog igrača koji želi igrati neke igre s nekim ažuriranim vizualima, pa je verzija Ray Tracinga koja je prisutna u modernim igrama prilično različita u primjeni. Ipak, Ray Tracing značajka je koja je prisutna u mnogim produkcijskim područjima izvan igara, a filmovi su jedno od najistaknutijih.

Softveri za produktivnost koje profesionalci koriste za rad na grafički intenzivnim scenama, poput Blendera, također podržavaju značajke praćenja zraka. Ova računalna grafika i softver za prikazivanje koriste različite razine programa za traženje zraka za stvaranje fotorealističnih vizualnih slika u statičkim renderima i 3D animacijama.

Što je rasterizacija?

Pa zašto je Nvidia smatrala potrebnim implementirati tako složen proces u tradicionalne igre? Postoji li razlika u procesu traženja zraka u igrama kako bi se optimizirao za radno opterećenje? Da bismo razumjeli mehanizam koji stoji iza Ray Tracinga, prvo moramo razumjeti mehanizam kojim se igre tradicionalno prikazuju. To će nam pomoći da shvatimo zašto se Ray Tracing smatra poboljšanjem i velikim skokom naprijed u grafičkoj vjernosti.



Tehnika koja se trenutno koristi za prikazivanje poznata je kao 'rasterizacija'. U ovoj tehnici, kod igre usmjerava GPU da crta 3D scenu pomoću poligona. Ovi 2D oblici (uglavnom trokuti) čine većinu vizualnih elemenata koji se prikazuju na zaslonu. Nakon što se scena nacrta, ona se prevede ili 'rasterizira' u pojedinačne piksele koji se zatim obrađuju namjenskim sjenčalom. Shader dodaje boje, teksture i svjetlosne efekte na osnovi piksela kako bi se dobio potpuno prikazani okvir. Ovu tehniku ​​treba ponoviti oko 30-60 puta u sekundi da bi se u igrama stvorili vizuali od 30 fps ili 60 fps.

Pojedinosti o mehanizmu rasterizacije - Slika: Medium.com

Ograničenja rasterizacije

Iako je rasterizacija zadani način prikazivanja u igrama već neko vrijeme, inherentni postupak rasterizacije ima određena ograničenja. Glavni problem rasterizacije je taj što ova tehnika teško prati točno kako svjetlost u sceni treba putovati i komunicirati s drugim elementima scene. Rasterizirano prikazivanje ne daje iste rezultate kao prikazivanje Ray Tracedom kada su u pitanju svjetlosni efekti i cjelokupno osvjetljenje određene scene. Rasterizirani prikaz također ponekad može stvoriti pomalo netočne slike u odnosu na osvjetljenje što stvarno može oštetiti uronjenje u određenu igru. Zbog toga se Ray Tracing smatra superiornim oblikom prikazivanja kada je u pitanju grafička vjernost, posebno u odnosu na osvjetljenje.

Što je zapravo traganje zraka?

Sad kad smo razgovarali o tradicionalnom obliku rasteriziranog prikazivanja, razgovarajmo o novoj primjeni praćenja zraka u stvarnom vremenu u modernim igrama. Traganje zraka je tehnika prikazivanja koja stvara sliku na temelju virtualne svjetlosti i načina na koji taj izvor svjetlosti djeluje sa svim objektima unutar virtualne scene. Traganje zraka može stvoriti mnogo životniji prikaz scena koje iskorištavaju interakciju svjetlosti s objektima unutar scene dajući osjećaj realizma. Jednostavnim riječima, Ray Tracing je tehnika koja čini da se svjetlost ponaša u video igrama kao u stvarnom životu.

Ray Tracing obećava da će u potpunosti popraviti vizualne elemente u igrama - Slika: Nvidia

Mehanizam iza Ray Tracinga

Mehanizam koji stoji iza Ray Tracinga u igrama u biti se razlikuje od ostalih oblika Ray Tracinga koji se već nalaze u drugim industrijama, poput filmova. Umjesto praćenja svih milijuna zraka koji dolaze iz svakog izvora svjetlosti, potrošačko praćenje zraka smanjuje računsko opterećenje, umjesto traganja putanje od kamere koja predstavlja perspektivu korisnika, kroz jedan piksel, pa do bilo kojeg objekta koji stoji iza toga piksela i konačno natrag na izvor svjetlosti predmetne scene. Ova tehnika traženja zraka može također proizvesti višestruke efekte poput apsorpcije, refleksije, loma i difuzije svjetlosti kako je određeno objektom koji je djelovao sa svjetlošću u sceni. Algoritam traženja zraka također može uzeti u obzir rezultirajuće zrake tako da se svi efekti refleksije ili sjene prikazuju točno.

U Ray Tracingu svjetlost se u igri ponaša kao u stvarnom životu - Slika: Nvidia

Različiti oblici traženja zraka

Nisu sve implementacije traženja zraka iste. Mnoštvo igara koje podržavaju Ray Tracing implementiraju značajku na ponešto drugačiji način. Na programeru igre je da poveća ili smanji složenost traženja zraka u igri tako da igra pruža savršenu ravnotežu performansi i vizualne kvalitete. Od 2020. godine većina igara koje podržavaju Ray Tracing obično koriste Ray Tracing samo za jedan aspekt scene, za razliku od prikazivanja cijele scene pomoću samog Ray Tracinga. Moguće je, ali računski troškovi traženja zraka u cijeloj sceni astronomski su u usporedbi s drugim pristupima i stoga ne vrijede truda barem sada. Što se tiče pisanja ovog članka, različite implementacije Ray Tracinga koje se trenutno koriste u igrama su:

  • Sjene: Najjednostavnija i najmanje intenzivna provedba traženja zraka vjerojatno je povezana sa sjenama. Ovdje se Ray Tracing koristi za savršeno prikazivanje sjena u sceni na temelju podrijetla svjetlosti iz izvora svjetlosti i položaja samog predmeta. Ova tehnika se najviše koristi u 'Sjeni grobnice Raider' za izradu detaljnije mape sjena koja odgovara na promjene u okolini oko predmeta koji proizvode sjene. Ono što je najvažnije, kretanje i kut izvora svjetlosti sada mogu izazvati iste promjene u nastalim sjenama koje promatramo u stvarnom životu.
  • Razmišljanja: Refleksije su prilično računski intenzivnije da bi se generirale pomoću Ray Tracinga, međutim, Ray Traced refleksije izgledaju fenomenalno u modernim igrama i vjerojatno su grafičko poboljšanje koje se može primijetiti pomoću Ray Tracinga. Refleksije koriste izvor svjetlosti u sceni za precizno prikazivanje refleksija od reflektirajućih predmeta poput stakla i vode. Jedna od najpopularnijih igara koja koristi refleksije Ray Traced je 'Control'.
  • Okluzija okoline: To je također povezano sa sjenama i više-manje je vezano za isti osnovni proces. Ambient Occlusion koristi Ray Tracing za predviđanje kuta i intenziteta sjena na temelju položaja i smještaja objekata unutar scene. Kada se dobro izvede, Ambient Occlusion može dodati neke nevjerojatne detalje i realizam u igru.
  • Globalno osvjetljenje: Vjerojatno najračunato intenzivniji oblik implementacije praćenja zraka u modernim igrama, Global Illumination koristi Ray tracing za precizno prikazivanje svjetske rasvjete. To pruža puno realističniji osjećaj osvjetljenja kad je uključeno, ali također ima i velik pogodak u izvedbi zbog velike količine podataka koji se obrađuju. 'Metro Exodus' koristi Ray Tracing kako bi pružio puno realističniji oblik globalnog osvjetljenja.
  • Puno praćenje puta: Konačno, također vidimo kako se pojavljuju neke igre kojima je potpuno praćen put, što u osnovi znači da je sve Ray Traced. Sada su ove igre nešto jednostavnije i manje od ostalih igara koje su bile manje-više AAA naslovi velikih tvrtki, ali to ne znači da ne izgledaju impresivno. U stvari, neki bi mogli tvrditi da ove igre s punim tragom puta izgledaju bolje od svih ostalih implementacija Ray Tracinga. 'Minecraft RTX' i 'Quake RTX' dva su od naslova koji su u potpunosti iscrtani putem dostupni u vrijeme pisanja ovog članka.

Ray Traced Reflections mogu biti najugodnija za oko primjena Ray Tracinga u igrama - Slika: Nvidia

Što trebam za praćenje zraka?

Kao što je već spomenuto, Ray Tracing je vrlo računski intenzivan zadatak, tako da mu je potreban neki vrhunski hardver da bi mogao dobro raditi. Što se tiče pisanja ovog članka, postoji nekoliko grafičkih kartica i od AMD-a i od Nvidie koje podržavaju hardverski ubrzano praćenje zraka. Čak i konzole Sonyja i Microsofta podržavaju ovu značajku. To malo proširuje popis podržanih hardvera:

  • Nvidia GeForce RTX 2000 serija
  • Nvidia GeForce RTX 3000 serija
  • AMD Radeon RX 6000 serija
  • Microsoft Xbox Series X
  • Sony PlayStation 5

Imajte na umu da ako AMD postupa s Ray Tracingom nešto drugačije od Nvidie, postoji nešto veća kazna za izvedbu koja se primjećuje kada koristite AMD kartice za Ray Tracing. Također, ako želite iskusiti poboljšane performanse koristeći Deep Learning Super Sampling, ta je značajka također dostupna samo na Nvidijinim RTX karticama. AMD navodno radi na značajci sličnoj DLSS-u za svoje kartice serije RX 6000, ali trenutno je još uvijek u fazi izrade u vrijeme pisanja ovog članka.

Nvidia je također skovala termin 'Giga Rays' kako bi korisnicima dala ideju o relativnim mogućnostima praćenja zraka svojih RTX grafičkih kartica. Nvidia kaže da je 5 giga zraka u sekundi minimalna količina virtualnog svjetla idealno potrebna za potpuno osvjetljenje tipične sobe u okruženju video igara. GeForce RTX 2070 nudi 5 giga zraka u sekundi, dok RTX 2080 nudi 8 giga zraka u sekundi. RTX 2080Ti nudi nevjerojatnih 10 giga zraka u sekundi. To je donekle proizvoljna jedinica, pa bi je se trebalo koristiti općenito samo za pokazivanje relativnih očekivanja izvedbe.

Gubitak performansi i DLSS

Kao što je do sada vidljivo, najveći nedostatak Ray Tracinga je pogodak u izvedbi zbog velike količine namjenskih računanja koja je potrebno obaviti u tom procesu. U nekim igrama uspjeh izvedbe je toliko velik da može odvesti igru ​​na framerate koji se više ne može igrati. Učinak izvedbe još je veći u igrama koje koriste složenije implementacije Ray Tracinga poput Reflections, Global Illumination ili Full Path Tracing.

Naravno, Nvidia je razmišljala o ovoj situaciji kažnjavanja izvedbe, a također je razvila novu tehniku ​​kompenzacije poznatu kao Super Sampling za duboko učenje. Ova tehnika nazvana DLSS objavljena je zajedno s Nvidijinom serijom RTX 2000 davne 2018. DLSS smo već detaljno istražili u ovaj članak , ali suština ove tehnologije je u tome što prikazuje sliku na nižoj razlučivosti, a zatim pametno i metodično nadograđuje sliku kako bi se podudarala s izlaznom razlučivošću, pružajući izuzetno superiorne performanse nativnom prikazivanju. DLSS je izvrstan mehanizam kompenzacije za gubitak performansi Ray Tracinga, ali se također može koristiti i bez Ray Tracinga kako bi pružio još veći broj sličica u sekundi i puno bolje iskustvo.

Značajno poboljšanje performansi u kontroli kada je DLSS UKLJUČEN - Slika: Nvidia

Najveća prednost DLSS-a je što koristi duboko učenje i AI za povećavanje slike tako da postoji mala ili nikakva razlika u vizualnoj jasnoći između izvorne i povećane slike. Nvidia koristi jezgre Tensor na svojoj RTX seriji kartica kako bi ubrzala DLSS proces, tako da se ovo povećano izračunavanje može obaviti tempom igre koja se prikazuje. Ovo je doista uzbudljiva tehnologija za koju bismo željeli da se dalje razvija i postaje bolja nego što je sada.

Budućnost traženja zraka

Traganje zraka u igrama tek počinje i možemo sa sigurnošću reći da je tu da ostane. AMD je upravo objavio njihov prva postava kartica koje podržavaju praćenje zraka u stvarnom vremenu s serijom RX 6000 , a PlayStation 5 i Xbox Series X također imaju podršku za Ray Tracing. Trenutne prepreke koje treba prevladati uključuju gubitak performansi i mali broj igara koje to podržavaju. Trenutne igre koje podržavaju Ray Tracing u vrijeme pisanja ovog članka uključuju:

  • Usred zla
  • Bojno polje V
  • Svijetla memorija
  • Call of Duty: Modern Warfare (2019)
  • Call of Duty: Black Ops Hladni rat
  • Kontrolirati
  • Crysis Remastered
  • Isporuči nam Mjesec
  • Fortnite
  • Ghostrunner
  • Pravda
  • Mechwarrior V: Plaćenici
  • Metro Exodus
  • Minecraft
  • Mjesečeva oštrica
  • Bundeva Jack
  • Quake II RTX
  • Shadow of the Tomb Raider
  • Ostanite u svjetlu
  • Watch Dogs Legion
  • Wolfenstein: Youngblood

U međuvremenu, Nvidia je potvrdila da će sljedeći naslovi također podržavati Ray Tracing nakon što izađu:

  • Atomsko srce
  • Cyberpunk 2077 (lansiranje)
  • Umiruće svjetlo 2
  • Doom Eternal
  • Uvršten (studeni zatvorena beta)
  • JX3
  • Mortal Shell (studeni)
  • Promatrač: Redux sustava
  • Spremni ili ne (pokretanje s ranim pristupom)
  • Ring Of Elysium (lansiranje)
  • Sinkronizirano: izvan planete
  • Vještica III
  • Vampir: maskenbal - krvne linije 2
  • World Of Warcraft: Shadowlands (studeni)
  • Mač Xuan-Yuan VII (lansiranje)

Buduće igre koje podržavaju i RTX i DLSS - Slika: Nvidia

Iako se ove možda ne čine kao mnoge igre, to predstavlja početak prema smjeru u kojem bi pretežni oblik prikazivanja itekako mogao biti Ray Tracing. Što se performansi tiče, zaista je teško predvidjeti hoće li se uspjeh Ray Tracinga malo smanjiti ili ne. Ono što je razumno očekivati, jest da DLSS postane bolji i ponudi dovoljnu kompenzaciju za gubitak performansi koji nastaje uključivanjem Ray Tracinga. Od trenutka pisanja ovog popisa, popis igara koje podržavaju DLSS ni na koji način nije opsežan, ali dobar je početak imajući na umu da je Nvidia najavila DLSS podršku i za nekoliko nadolazećih igara. Evo svih igara koje trenutno podržavaju Deep Learning Super Sampling:

  • Himna
  • Bojno polje V
  • Svijetla memorija
  • Call of Duty: Black Ops Hladni rat
  • Kontrolirati
  • Smrt nasukan
  • Isporuči nam Mjesec
  • F1 2020
  • Final Fantasy XV
  • Fortnite
  • Ghostrunner
  • Pravda
  • Marvelovi osvetnici
  • Mechwarrior V: Plaćenici
  • Metro Exodus
  • Minecraft
  • Lovac na čudovišta: Svijet
  • Shadow of the Tomb Raider
  • Watch Dogs Legion
  • Wolfenstein Youngblood

Kao što ste mogli primijetiti, većina igara koje podržavaju DLSS naslovi su koji imaju i neki oblik podrške za Ray Tracing. To nudi daljnju potvrdu teorije da je DLSS razvijen i objavljen uglavnom kao tehnologija kompenzacije kako bi se ublažio golem gubitak performansi u Ray Tracingu. DLSS je ipak ozbiljno impresivna tehnologija, jer je Nvidia objasnila da koristi superračunalo za izvođenje složenih izračuna koji trenira algoritam koji Tensor jezgre unutar Nvidijinih grafičkih procesora slijede. Baš kao i Ray Tracing, očekuje se da će DLSS doći i u više igara:

  • Usred zla
  • Atomsko srce
  • Granica
  • Cyberpunk 2077 (lansiranje)
  • Rub vječnosti (studeni)
  • JX3
  • Mortal Shell (studeni)
  • Mount & Blade II Bannerlord (studeni)
  • Spremni ili ne (pokretanje s ranim pristupom)
  • Čistači
  • Vampir: maskenbal - krvne linije 2
  • Mač Xuan-Yuan VII (lansiranje)

DLSS, u kombinaciji s Ray Tracingom, čini se da je budućnost igraće industrije od 2020.

Popis igara koje podržavaju DLSS 2.0 i dalje raste - Slika: Nvidia

Zaključak

Rasterizacija je tehnika koja se već dugo koristi za pretvaranje 2D ravnine poligona u 3D sliku na ekranu u igrama. 2018. godine Nvidia je predstavila seriju grafičkih kartica RTX 2000 s potpunom podrškom za praćenje zraka u stvarnom vremenu u igrama, tehnikom koja koristi složene proračune za traženje zraka svjetlosti u sceni kako bi stvorila točne prikaze kako bi svjetlost djelovala s predmeti u sceni. Ovo je svijet igara odneo neočekivanom olujom, a cijela je industrija Ray Tracing postavila svojim primarnim fokusom prema naprijed.

Od trenutka pisanja ovog članka, Nvidia je objavila još jednu generaciju grafičkih kartica koje dodatno poboljšavaju njihove performanse praćenja zraka, dok su i AMD i konzole najavili punu podršku za tu značajku. Nvidia je također poboljšala svoju tehniku ​​dubokog učenja Super Sampling koja koristi AI i Deep Learning za pametno uvećavanje slike koja je prikazana na nižoj razlučivosti kako bi nadoknadila gubitak performansi zbog Ray Tracinga.

Čini se da je Ray Tracing ovdje da ostane, a iako početni broj naslova koji podržavaju značajku nije opsežan, najavljuje se sve više naslova koji imaju potpunu podršku za Ray Tracing u stvarnom vremenu. Sada je na programerima da u svojim nadolazećim igrama precizno prilagode značajke Ray Tracinga, kao i da povećaju broj naslova koji podržavaju ovu značajku. Nvidia i AMD također su odgovorni za optimizaciju svog hardvera za ovu značajku kako igrači ne bi morali doživjeti razoran gubitak performansi kad god žele uključiti Ray Tracing.