Ray Tracing vs Rasterized Rendering - razloženo

Po uvedbi Nvidijine družine GPU Turing v letu 2018 se je svet iger eksponentno povečal v razpravi o funkciji, imenovani 'sledenje žarkom'. Nvidijina takrat povsem nova serija grafičnih kartic 'RTX' je v igrah prinesla podporo za nekaj, kar se imenuje 'Real-Time Ray Tracing'. Večina ljudi ni bila prepričana, kaj je ta nova funkcija in zakaj jo je Nvidia tako močno spodbujala, hkrati pa so bili navdušeni in zainteresirani za tehnologijo. Ray Tracing je bil po Nvidiji tako pomemben vidik, da se jim je zdelo nujno, da ga vnesejo v ime izdelkov, ki so jih lansirali. Nova serija kart GeForce 'RTX' je nadomestila starejšo različico 'GTX', ko je šlo za vrhunske SKU-je, kot so 60.70,80 in -80Ti SKU-ji, ki jih Nvidia običajno izda.



Nvidia GeForce RTX 3080 je ena najhitrejših grafičnih kartic, ki podpira Ray Tracing - Slika: Nvidia

Nvidijina serija grafičnih kartic RTX 2000 je prinesla več sprememb strojne opreme, ki so omogočile podporo Ray Tracing v igrah. Nove grafične kartice na osnovi Turinga so vanje zapakirale posebna jedra, ki so bila namenjena temu procesu in so bila znana kot RT jedra. Namen jeder RT je bil natančno obdelati vse grafične izračune, ki so bili potrebni za omogočanje sprotnega sledenja žarkom v igrah. Nvidia je kartice dopolnila tudi z dodatnimi jedri CUDA, da bi povečala surovo moč kartic, hkrati pa dodala tudi nov nabor jeder, znanih kot Tensor Cores. Ta jedra naj bi pomagala pri globokem učenju in aplikacijah z umetno inteligenco, kot je nova oblika nadgradnje, znana kot Deep Learning Super Sampling. Deep Learning Super Sampling ali DLSS smo že podrobno obravnavali v Ta članek , kjer lahko izveste več o tehniki povečevanja z AI.



Sledenje žarkov ni novo

Čeprav se na prvi pogled zdi, da je Ray Tracing nova tehnologija, ki jo je uvedla Nvidia, resnica v resnici še zdaleč ni. Da, Nvidia je bila prva družba, ki je v igrah uvedla podporo za sledenje Ray Ray v realnem času, vendar to ne pomeni, da Ray Tracing še ni obstajal pred serijo RTX. Verjetno že leta uživate, ne da bi to vedeli, če ste si ogledali kateri koli nedavni film, ki vsebuje učinke CGI.



Sledenje žarkov se že uporablja na drugih področjih, kot so filmi - Slika: Nvidia



Izvedba v filmih je sicer nekoliko drugačna in veliko bolj intenzivna kot igralna različica. Velike proračunske produkcije imajo razkošje, da lahko za upodabljanje teh prizorov porabijo veliko denarja in časa. Poročali so, da so priljubljeni animirani filmi uporabili približno 1000 superračunalnikov za upodabljanje celotnega filma z učinki Ray Tracing v obdobju enega meseca. Takšni obsežni postopki upodabljanja seveda niso izvedljivi ali možni za povprečnega igralca, ki želi igrati nekatere igre z nekaterimi posodobljenimi vizualnimi elementi, zato je različica Ray Tracing, ki je prisotna v sodobnih igrah, precej drugačna pri uporabi. Kljub temu je Ray Tracing značilnost, ki je prisotna na številnih produkcijskih področjih zunaj igralništva, pri čemer so filmi eden najvidnejših.

Programska oprema za produktivnost, ki jo profesionalci uporabljajo za grafično intenzivne prizore, kot je Blender, podpira tudi funkcije sledenja Ray. Ta računalniška grafika in programska oprema za upodabljanje uporabljata različne stopnje aplikacije za sledenje žarkom za izdelavo fotorealističnih vizualnih slik v neprekinjenih upodabljanjih in 3D animacijah.

Kaj je rastrizacija?

Zakaj se je torej Nvidiji zdelo potrebno, da je tako zapleten proces uvedel v tradicionalne igre? Ali obstaja kakšna razlika v postopku sledenja žarkom v igrah, da je bolj optimiziran za delovno obremenitev? Da bi razumeli mehanizem, ki stoji za Ray Tracingom, moramo najprej razumeti mehanizem, s katerim se igre tradicionalno upodabljajo. To nam bo pomagalo razumeti, zakaj šteje Ray Tracing za izboljšanje in velik korak naprej v grafični zvestobi.



Tehnika, ki se trenutno uporablja za upodabljanje, je znana kot 'rastrizacija'. Pri tej tehniki koda igre usmerja GPU, da nariše 3D sceno z uporabo poligonov. Te 2D oblike (večinoma trikotniki) tvorijo večino vizualnih elementov, ki so prikazani na zaslonu. Ko je prizor narisan, se prevede ali 'rasterizira' v posamezne slikovne pike, ki jih nato obdela poseben senčnik. Senčnik dodaja barve, teksture in svetlobne učinke na osnovi slikovnih pik, da ustvari popolnoma upodobljen okvir. To tehniko je treba ponoviti približno 30–60 krat na sekundo, če želite v igrah ustvariti vizualne slike s 30 sličicami na sekundo ali 60 sličicami na sekundo.

Podrobnosti o mehanizmu rasterizacije - Slika: Medium.com

Omejitve rasterizacije

Čeprav je rastrizacija že nekaj časa privzeti način upodabljanja v igrah, ima sam proces, ki je v ozadju rastrizacije, nekaj omejitev. Glavna težava rastrizacije je, da ta tehnika težko spremlja natančno, kako naj svetloba v sceni potuje in sodeluje z drugimi elementi scene. Rasterizirano upodabljanje ne daje enakih rezultatov kot upodabljanje Ray Traced, ko gre za svetlobne učinke in splošno osvetlitev določene scene. Rasterizirano upodabljanje lahko včasih ustvari tudi nekoliko netočne slike v zvezi z osvetlitvijo, kar lahko resnično poškoduje potopitev v določeno igro. To je razlog, zakaj Ray Tracing velja za vrhunsko obliko upodabljanja, ko gre za grafično zvestobo, zlasti v zvezi z osvetlitvijo.

Kaj pravzaprav je Ray Tracing?

Zdaj, ko smo razpravljali o tradicionalni obliki rasteriziranega upodabljanja, se pogovorimo o novi uporabi sledenja žarkov v realnem času v sodobnih igrah. Sledenje žarkov je tehnika upodabljanja, ki ustvari sliko na podlagi navidezne svetlobe in tega, kako vir svetlobe sodeluje z vsemi predmeti v navidezni sceni. Sledenje žarkov lahko ustvari precej bolj življenjsko upodobitev prizorov, ki izkoriščajo interakcijo svetlobe s predmeti znotraj scene, da dajo občutek realizma. Preprosto povedano, Ray Tracing je tehnika, zaradi katere se svetloba v video igrah obnaša tako kot v resničnem življenju.

Ray Tracing obljublja, da bo popolnoma prenovil vizualne elemente v igrah - Slika: Nvidia

Mehanizem za sledenjem Raya

Mehanizem, ki stoji za Ray Tracingom v igrah, se sam po sebi razlikuje od drugih oblik Ray Tracinga, ki jih že najdemo v drugih panogah, kot so filmi. Potrošniško sledenje žarkom namesto da bi sledilo vsem milijonom žarkov, ki prihajajo iz posameznega vira svetlobe, zmanjša računsko obremenitev, tako da namesto sledenja poti od kamere, ki predstavlja uporabnikovo perspektivo, skozi en sam piksel, nato do katerega koli predmeta, ki stoji za tem slikovne pike in nato končno nazaj na vir svetlobe zadevnega prizora. Ta tehnika sledenja žarkom lahko povzroči tudi več učinkov, kot so absorpcija, odsev, lom in difuzija svetlobe, kot jih določa objekt, ki je vplival na svetlobo v sceni. Algoritem sledenja žarkom lahko upošteva tudi nastale žarke, tako da so vsi odsevni učinki ali sence natančno prikazani.

Pri sledenju žarkov se svetloba v igri obnaša kot v resničnem življenju - Slika: Nvidia

Različne oblike sledenja žarkom

Niso vse izvedbe sledenja žark enake. Različne igre, ki podpirajo Ray Tracing, funkcijo izvajajo na nekoliko drugačen način. Razvijalec igre mora povečati ali zmanjšati zapletenost sledenja žarkom v igri, tako da igra zagotavlja popolno ravnovesje med zmogljivostjo in kakovostjo slike. Od leta 2020 večina iger, ki podpirajo Ray Tracing, običajno uporablja Ray Tracing samo za en vidik scene, v nasprotju z upodabljanjem celotne scene s pomočjo samega Ray Tracinga. Možno je, toda računski stroški celovitega sledenja žarkom so astronomski v primerjavi z drugimi pristopi in se zato vsaj zdaj ne splačajo truda. Glede na čas pisanja so različne izvedbe sistema Ray Tracing, ki se trenutno uporabljajo v igrah, naslednje:

  • Sence: Najpreprostejša in najmanj intenzivna izvedba sledenja žarkov je nedvomno povezana s sencami. Tu se Ray Tracing uporablja za popolno upodabljanje senc v sceni glede na izvor svetlobe iz vira svetlobe in položaj samega predmeta. Ta tehnika se najbolj uporablja v 'Shadow of the Tomb Raider' za izdelavo podrobnejšega senčnega zemljevida, ki se odziva na spremembe v okolju okoli predmetov, ki ustvarjajo sence. Predvsem pa lahko gibanje in kot svetlobnega vira zdaj povzroči enake spremembe v nastalih sencah, kot jih opažamo v resničnem življenju.
  • Razmišljanja: Refleksije so nekoliko računsko intenzivnejše za upodabljanje z uporabo Ray Tracinga, vendar so refleksije Ray Traced videti moderne v sodobnih igrah in so verjetno najbolj opazna grafična izboljšava, ki jo lahko dosežemo z uporabo Ray Tracinga. Odsevi uporabljajo vir svetlobe v sceni za natančno upodabljanje odbojev od odsevnih predmetov, kot sta steklo in voda. Ena izmed najbolj priljubljenih iger, ki uporabljajo odseve z žarki Ray, je »Control«.
  • Okluzija okolice: To je povezano tudi s sencami in je bolj ali manj povezano z istim osnovnim postopkom. Ambient Oclusion uporablja Ray Tracing za napovedovanje kota in intenzivnosti senc glede na položaj in postavitev predmetov znotraj scene. Če naredite pravilno, lahko Ambient Occlusion v igro doda nekaj neverjetnih podrobnosti in realizma.
  • Globalna osvetlitev: Verjetno najbolj računalniško intenzivna oblika izvajanja sledenja žarkov v sodobnih igrah, Global Illumination uporablja Ray Tracing za natančno prikazovanje svetovne razsvetljave. To zagotavlja veliko bolj realističen občutek osvetlitve, ko je vklopljena, vendar pa ima tudi veliko uspešnost zaradi velike količine obdelanih podatkov. 'Metro Exodus' uporablja Ray Tracing za zagotavljanje bolj realistične oblike globalne osvetlitve.
  • Celotno sledenje poti: Končno opažamo tudi, da se pojavljajo nekatere igre, ki imajo popolnoma izsledeno pot, kar v bistvu pomeni, da je vse Ray Traced. Zdaj so te igre nekoliko preprostejše in manjše od drugih iger, ki so bile bolj ali manj naslovi AAA velikih podjetij, vendar to ne pomeni, da niso videti impresivno. Nekateri bi lahko trdili, da so te igre s popolnim sledenjem poti videti bolje kot vse druge izvedbe Ray Tracing. 'Minecraft RTX' in 'Quake RTX' sta dva izmed naslovov, ki sta v celoti napisana v času pisanja.

Ray Traced Reflections je lahko najbolj prijetna aplikacija Ray Tracing v igrah - Slika: Nvidia

Kaj potrebujem za sledenje žarkom?

Kot smo že omenili, je Ray Tracing zelo računsko zahtevna naloga, zato za dobro delovanje potrebuje nekaj odločno vrhunske strojne opreme. V času pisanja je na voljo več grafičnih kartic AMD in Nvidia, ki podpirajo strojno pospešeno sledenje žarkov. Tudi konzole Sony in Microsoft podpirajo to funkcijo. To nekoliko razširi seznam podprte strojne opreme:

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

Upoštevajte, da če AMD obravnava Ray Tracing nekoliko drugače kot Nvidia, obstaja nekoliko večja kazen za zmogljivost, ki jo opazimo, ko uporabljate kartice AMD za Ray Tracing. Če želite izkusiti izboljšano zmogljivost z uporabo Deep Learning Super Sampling, je ta funkcija na voljo tudi samo na Nvidijinih RTX karticah. AMD menda dela na funkciji, podobni DLSS, za svoje kartice RX 6000, vendar je trenutno v času pisanja še v fazi razvoja.

Nvidia je tudi uvedla izraz 'Giga Rays', da bi uporabnikom predstavila relativne zmogljivosti sledenja žarkov svojih grafičnih kartic RTX. Nvidia pravi, da je 5 giga žarkov na sekundo minimalna količina navidezne svetlobe, ki je idealno potrebna za popolno osvetlitev tipične sobe v okolju video iger. GeForce RTX 2070 ponuja 5 giga žarkov na sekundo, medtem ko RTX 2080 ponuja 8 giga žarkov na sekundo. RTX 2080Ti ponuja neverjetnih 10 giga žarkov na sekundo. Je pa nekoliko samovoljna enota, zato bi jo bilo treba uporabljati le na splošno za prikaz relativnih pričakovanj glede uspešnosti.

Izguba zmogljivosti in DLSS

Kot je že razvidno, je največja pomanjkljivost sistema Ray Tracing zadetek v uspešnosti zaradi velike količine namenskih izračunov, ki jih je treba v tem procesu opraviti. V nekaterih igrah je uspešnost uspešnosti tako velika, da lahko igro pripelje do sličice, ki je ni več mogoče igrati. Uspešnost uspešnosti je še večja pri igrah, ki uporabljajo bolj zapletene izvedbe sledenja žarkov, kot so Reflections, Global Illumination ali Full Path Tracing.

Nvidia je seveda pomislila na to kazen za uspešnost in razvila tudi novo tehniko kompenzacije, imenovano Deep Learning Super Sampling. Ta tehnika, imenovana DLSS, je bila izdana skupaj z Nvidijino serijo RTX 2000 že leta 2018. DLSS smo podrobno že raziskali v Ta članek , vendar bistvo te tehnologije je, da sliko upodablja z nižjo ločljivostjo, nato pa pametno in metodično nadgradi sliko, tako da ustreza izhodni ločljivosti, da zagotovi izredno vrhunsko zmogljivost pri naravnem upodabljanju. DLSS je odličen kompenzacijski mehanizem za izgubo zmogljivosti sistema Ray Tracing, vendar ga je mogoče uporabiti tudi brez sistema Ray Tracing za zagotavljanje še večjega števila sličic in veliko boljše izkušnje.

Ko je DLSS vklopljen, se znatno poveča zmogljivost nadzora - slika: Nvidia

Največja prednost DLSS je v tem, da uporablja globoko učenje in umetno inteligenco za nadgradnjo slike, tako da je med osnovno in nadgrajeno sliko malo ali nič razlike v vidni jasnosti. Nvidia uporablja jedra Tensor na svoji seriji kartic RTX za pospešitev procesa DLSS, tako da je mogoče to izračunavanje povečati s hitrostjo igre, ki se upodablja. To je resnično vznemirljiva tehnologija, za katero bi radi videli, da se razvija naprej in postaja boljša kot zdaj.

Prihodnost sledenja žarkom

Ray Tracing v igrah se šele začenja in zagotovo lahko rečemo, da je tu, da ostane. AMD je pravkar izdal svoje prva linija kartic, ki podpirajo sprotno sledenje žarkov v realnem času s serijo RX 6000 , PlayStation 5 in Xbox Series X pa imata tudi podporo za sledenje žarkom. Trenutne ovire, ki jih je treba premagati, vključujejo izgubo zmogljivosti in majhno število iger, ki to podpirajo. Trenutne igre, ki podpirajo Ray Tracing v času pisanja, vključujejo:

  • Sredi zla
  • Battlefield V
  • Svetel spomin
  • Call of Duty: Modern Warfare (2019)
  • Call of Duty: Black Ops Cold War
  • Nadzor
  • Crysis Remastered
  • Izroči nam Luno
  • Fortnite
  • Ghostrunner
  • Pravičnost
  • Mechwarrior V: Plačanci
  • Metro Exodus
  • Minecraft
  • Moonlight Blade
  • Bučni Jack
  • Quake II RTX
  • Shadow of the Tomb Raider
  • Ostani v luči
  • Watch Dogs Legion
  • Wolfenstein: Youngblood

Nvidia je medtem potrdila, da bodo naslednji naslovi podpirali tudi Ray Tracing, ko bodo objavljeni:

  • Atomsko srce
  • Cyberpunk 2077 (zagon)
  • Umirajoča svetloba 2
  • Doom Eternal
  • Vpisano (november zaprta beta)
  • JX3
  • Mortal Shell (november)
  • Opazovalec: Sistem Redux
  • Pripravljeno ali ne (začetek zgodnjega dostopa)
  • Ring Of Elysium (zagon)
  • Sinhronizirano: zunaj planeta
  • Čarovnica III
  • Vampir: Maskarada - krvne linije 2
  • World Of Warcraft: Shadowlands (november)
  • Xuan-Yuan Sword VII (zagon)

Prihajajoče igre, ki podpirajo RTX in DLSS - Slika: Nvidia

Čeprav se te igre morda ne zdijo številne igre, predstavlja začetek v smeri, kjer bi lahko bila prevladujoča oblika upodabljanja Ray Tracing. Kar zadeva zmogljivost, je težko napovedati, ali se bo uspešnost Ray Tracinga nekoliko znižala ali ne. Vendar je smiselno pričakovati, da se DLSS izboljša in ponudi zadostno nadomestilo za izgubo zmogljivosti, ki nastane z vklopom Ray Tracing. Glede na čas pisanja seznam iger, ki podpirajo DLSS, nikakor ni obsežen, vendar je dober začetek, če upoštevamo, da je Nvidia napovedala podporo DLSS tudi za številne prihajajoče igre. Tu so vse igre, ki trenutno podpirajo Deep Learning Super Sampling:

  • Himna
  • Battlefield V
  • Svetel spomin
  • Call of Duty: Black Ops Cold War
  • Nadzor
  • Death Stranding
  • Izroči nam Luno
  • F1 2020
  • Final Fantasy XV
  • Fortnite
  • Ghostrunner
  • Pravičnost
  • Marvelovi maščevalci
  • Mechwarrior V: Plačanci
  • Metro Exodus
  • Minecraft
  • Monster Hunter: World
  • Shadow of the Tomb Raider
  • Watch Dogs Legion
  • Wolfenstein Youngblood

Kot ste morda že opazili, je večina iger, ki podpirajo DLSS, naslovi, ki imajo tudi neko obliko Ray Tracing podpore. To ponuja nadaljnjo potrditev teorije, da je bil DLSS razvit in izdan predvsem kot kompenzacijska tehnologija za lajšanje neizmerne izgube zmogljivosti pri Ray Tracing. DLSS je resnično impresivna tehnologija, saj je Nvidia pojasnila, da za izvajanje zapletenih izračunov uporablja superračunalnik, ki uči algoritem, ki mu sledijo jedra Tensor znotraj grafičnih procesorjev Nvidia. Tako kot Ray Tracing naj bi tudi DLSS prišel v več iger:

  • Sredi zla
  • Atomsko srce
  • Meja
  • Cyberpunk 2077 (zagon)
  • Edge Of Eternity (november)
  • JX3
  • Mortal Shell (november)
  • Mount & Blade II Bannerlord (november)
  • Pripravljeno ali ne (začetek zgodnjega dostopa)
  • Smetarji
  • Vampir: Maskarada - krvne linije 2
  • Xuan-Yuan Sword VII (zagon)

Zdi se, da je DLSS v kombinaciji z Ray Tracing prihodnost igralniške industrije od leta 2020.

Seznam iger, ki podpirajo DLSS 2.0, še naprej raste - Slika: Nvidia

Zaključek

Rasterizacija je tehnika, ki se že dolgo uporablja za pretvorbo 2D ravnine poligonov v 3D sliko na zaslonu v igrah. Leta 2018 je Nvidia predstavila serijo grafičnih kartic RTX 2000 s popolno podporo za sledenje žarkom v realnem času v igrah, tehniko, ki uporablja zapletene izračune za sledenje svetlobnim žarkom v sceni, da ustvari natančne prikaze interakcije svetlobe z predmeti na sceni. Zaradi tega je nepričakovana nevihta prevzela svet iger na srečo, celotna industrija pa je Ray Tracing postavila za svoj glavni poudarek naprej.

V času pisanja je Nvidia izdala novo generacijo grafičnih kartic, ki še izboljšujejo njihovo zmogljivost sledenja žarkov, medtem ko so AMD in konzole napovedali tudi popolno podporo tej funkciji. Nvidia je prav tako izboljšala svojo tehniko globokega učenja Super Sampling, ki z umetno inteligenco in globokim učenjem pametno poveča sliko, ki je bila upodobljena z nižjo ločljivostjo, da bi kompenzirala izgubo zmogljivosti zaradi Ray Tracinga.

Zdi se, da je Ray Tracing tu, da ostane, in čeprav začetno število naslovov, ki podpirajo to funkcijo, ni obsežno, se objavlja vse več naslovov, ki imajo popolno podporo za sprotno sledenje Rayu v prihodnosti. Zdaj morajo razvijalci natančno prilagoditi funkcije Ray Tracing v svojih prihajajočih igrah in povečati število naslovov, ki podpirajo to funkcijo. Nvidia in AMD sta odgovorna tudi za optimizacijo svoje strojne opreme za to funkcijo, tako da igralcem ne bi bilo treba izgubljati zmogljivosti, kadar bi želeli vklopiti Ray Tracing.