Ray Tracing vs Rasterized Rendering - Explained

Po uvedení rodiny GPU Nvidia Turing v roku 2018 došlo vo svete hier k exponenciálnemu nárastu diskusií o funkcii známej ako „Ray Tracing“. V tom čase úplne nová séria grafických kariet Nvidia „RTX“ priniesla v hrách podporu pre niečo, čo sa volá „Real-Time Ray Tracing“. Väčšina ľudí si nebola istá, čo táto nová funkcia je a prečo ju Nvidia tak silno tlačila, ale zároveň boli nadšení a zaujímali sa o túto technológiu. Ray Tracing bol podľa Nvidie taký veľký bod, že považovali za potrebné dať to priamo na názov produktov, ktoré uvádzali na trh. Nová séria kariet GeForce „RTX“ nahradila staršiu paletu „GTX“, keď sa jednalo o najlepšie SKU, ako sú 60,70,80 a -80Ti SKU, ktoré Nvidia zvyčajne vydáva.



Nvidia GeForce RTX 3080 je jednou z najrýchlejších grafických kariet podporujúcich Ray Tracing - Obrázok: Nvidia

Séria grafických kariet Nvidia RTX 2000 priniesla niekoľko hardvérových zmien, ktoré umožnili podporu Ray Tracing v hrách. Nové grafické karty na báze Turinga do nich zabalili špeciálne jadrá, ktoré boli venované tomuto procesu a boli známe ako RT Cores. Účelom jadier RT bolo konkrétne zvládnuť všetok grafický výpočet, ktorý bol potrebný na to, aby bolo možné v hrách umožniť sledovanie lúčov v reálnom čase. Nvidia tiež doplnila karty o ďalšie jadrá CUDA, aby zvýšila surovú silu kariet, a zároveň pridala novú sadu jadier známych ako Tensor Cores. Tieto jadrá boli určené na pomoc pri hlbokom učení a aplikáciách umelej inteligencie, ako je nová forma techniky upscalingu známa ako Deep Learning Super Sampling. Deep Learning Super Sampling alebo DLSS sme už podrobne rozobrali v tento článok , kde sa môžete dozvedieť viac o technike upscalingu pomocou AI.



Ray Tracing nie je nový

Aj keď by sa na prvý pohľad mohlo zdať, že Ray Tracing je nová technológia, ktorá je priekopníkom v spoločnosti Nvidia, pravda k tomu nemá ďaleko. Áno, Nvidia bola prvou spoločnosťou, ktorá implementovala podporu pre Ray Tracing v reálnom čase do hier, to však neznamená, že Ray Tracing pred sériou RTX neexistoval. Pravdepodobne ste si ho užili bez toho, aby ste to roky vedeli, ak ste sledovali akýkoľvek nedávny film s CGI efektmi.



Ray Tracing sa už používa v iných oblastiach, ako sú filmy - Obrázok: Nvidia



Implementácia do filmov je síce trochu iná a omnoho intenzívnejšia ako herná verzia. Veľkorozpočtové produkcie majú taký luxus, že dokážu za vykreslenie týchto scén minúť veľké množstvo peňazí a času. Podľa populárnych animovaných filmov bolo na vykreslenie celého filmu pomocou efektov Ray Tracing v rozpätí jedného mesiaca použitých asi 1 000 superpočítačov. Takéto rozsiahle procesy vykresľovania nie sú samozrejme možné ani možné pre priemerného hráča, ktorý chce hrať niektoré hry s aktualizovaným vizuálom, takže verzia Ray Tracing, ktorá je prítomná v moderných hrách, sa v aplikácii dosť líši. Ray Tracing je funkcia, ktorá je prítomná v mnohých výrobných oblastiach mimo hrania hier, pričom filmy sú jedným z najvýznamnejších.

Softvér na zvýšenie produktivity používaný profesionálmi na prácu na graficky náročných scénach, ako je napríklad Blender, tiež podporuje funkcie Ray Tracing. Tento počítačový grafický a renderovací softvér používa rôzne úrovne aplikácie na sledovanie lúčov na výrobu fotorealistických vizuálov v statických vykresleniach a 3D animáciách.

Čo je to rasterizácia?

Prečo teda Nvidia považovala za potrebné implementovať taký zložitý proces do tradičných hier? Existuje nejaký rozdiel v procese sledovania lúčov v hrách, aby bol optimalizovaný pre pracovnú záťaž? Aby sme pochopili mechanizmus, ktorý stojí za Ray Tracingom, je potrebné najskôr pochopiť mechanizmus, ktorým sa hry tradične vykresľujú. To nám pomôže pochopiť, prečo sa Ray Tracing považuje za vylepšenie a veľký krok vpred v grafickej vernosti.



Technika, ktorá sa v súčasnosti používa na vykreslenie, je známa ako „Rasterizácia“. V tejto technike herný kód smeruje GPU k nakresleniu 3D scény pomocou polygónov. Tieto 2D tvary (väčšinou trojuholníky) tvoria väčšinu vizuálnych prvkov, ktoré sa zobrazujú na obrazovke. Po nakreslení je scéna preložená alebo „rastrovaná“ na jednotlivé pixely, ktoré sú následne spracované vyhradeným shaderom. Shader pridáva farby, textúry a svetelné efekty na základe pixelov, aby vytvoril plne vykreslený rám. Túto techniku ​​je potrebné opakovať približne 30–60krát za sekundu, aby sa v hrách vytvoril vizuál s frekvenciou 30 FPS alebo 60 FPS.

Podrobnosti o mechanizme rasterizácie - Obrázok: Medium.com

Obmedzenia pri rastrovaní

Zatiaľ čo rasterizácia je v hrách predvoleným režimom vykresľovania už dosť dlho, inherentný proces rasterizácie má určité obmedzenia. Hlavným problémom rasterizácie je, že táto technika ťažko sleduje, ako presne by malo svetlo v scéne cestovať a interagovať s ostatnými prvkami scény. Rastrované vykreslenie neprináša rovnaké výsledky ako vykreslenie Ray Traced, pokiaľ ide o svetelné efekty a celkové osvetlenie konkrétnej scény. Rastrové vykreslenie môže tiež niekedy spôsobiť trochu nepresné vizuálne prvky týkajúce sa osvetlenia, čo môže skutočne poškodiť ponorenie do konkrétnej hry. To je dôvod, prečo sa Ray Tracing považuje za vynikajúcu formu vykresľovania, pokiaľ ide o grafickú vernosť, najmä pokiaľ ide o osvetlenie.

Čo to vlastne Ray Tracing je?

Teraz, keď sme diskutovali o tradičnej forme rastrovaného vykresľovania, poďme sa rozprávať o novej aplikácii Ray Tracing v reálnom čase v moderných hrách. Ray Tracing je technika vykresľovania, ktorá vytvára obraz založený na virtuálnom svetle a na tom, ako tento zdroj svetla interaguje so všetkými objektmi vo virtuálnej scéne. Ray Tracing môže vytvoriť oveľa realistickejšie zobrazenie scén, ktoré na zvýšenie pocitu realizmu využívajú interakciu svetla s objektmi vo vnútri scény. Jednoducho povedané, sledovanie lúčov je technika, vďaka ktorej sa svetlo správa vo videohrách rovnako ako v reálnom živote.

Ray Tracing sľubuje úplnú revíziu vizuálu v hrách - Obrázok: Nvidia

Mechanizmus za Ray Tracingom

Mechanizmus sledovania lúčov v hrách sa vo svojej podstate líši od iných foriem sledovania lúčov, ktoré sa už nachádzajú v iných priemyselných odvetviach, ako sú filmy. Namiesto sledovania všetkých miliónov lúčov, ktoré prichádzajú z každého svetelného zdroja, sledovanie lúčov na úrovni spotrebiteľa znižuje výpočtové zaťaženie tým, že sleduje cestu z kamery, ktorá predstavuje perspektívu používateľa, cez jediný pixel a potom k ľubovoľnému objektu, ktorý je za tým. pixelov a potom nakoniec späť k svetelnému zdroju príslušnej scény. Táto technika sledovania lúčov môže tiež produkovať viac efektov, ako je absorpcia, odraz, lom a difúzia svetla, ako je určené objektom, ktorý interagoval so svetlom v scéne. Algoritmus sledovania lúčov môže tiež brať do úvahy výsledné lúče, aby sa akékoľvek odrazové efekty alebo tiene zobrazovali presne.

Pri sledovaní lúčov sa svetlo v hre správa ako v skutočnosti - Obrázok: Nvidia

Rôzne formy sledovania lúčov

Nie všetky implementácie Ray Tracingu sú rovnaké. Rôzne hry, ktoré podporujú Ray Tracing, implementujú túto funkciu trochu iným spôsobom. Je na vývojárovi hry, či zvýši alebo zníži zložitosť Ray Tracingu v hre tak, aby hra poskytovala dokonalú rovnováhu medzi výkonom a vizuálnou kvalitou. Od roku 2020 väčšina hier podporujúcich Ray Tracing zvyčajne používa Ray Tracing iba pre jeden aspekt scény, na rozdiel od vykreslenia celej scény pomocou samotného Ray Tracingu. Je to možné, ale výpočtové náklady na sledovanie celej scény Ray Tracingom sú v porovnaní s ostatnými prístupmi astronomické, a teda aspoň teraz nestoja za námahu. V čase písania tohto článku sú rôzne implementácie Ray Tracingu, ktoré sa v súčasnosti používajú v hrách, tieto:

  • Tiene: Najjednoduchšia a najmenej intenzívna implementácia Ray Tracingu súvisí pravdepodobne s tieňmi. Tu sa sledovanie lúčov používa na dokonalé vykreslenie tieňov v scéne na základe pôvodu svetla zo svetelného zdroja a polohy samotného objektu. Táto technika sa predovšetkým používa v programe „Shadow of the Tomb Raider“ na vytvorenie podrobnejšej tieňovej mapy, ktorá reaguje na zmeny v prostredí okolo objektov, ktoré produkujú tiene. Najvýznamnejšie je, že pohyb a uhol svetelného zdroja môžu teraz vo výsledných tieňoch spôsobiť rovnaké zmeny, aké pozorujeme v reálnom živote.
  • Úvahy: Odrazy sú na výpočet pomocou Ray Tracingu o niečo náročnejšie na výpočet, avšak odrazy Ray Traced vyzerajú v moderných hrách fenomenálne a sú pravdepodobne najvýznamnejším grafickým vylepšením, ktoré je možné pomocou Ray Tracing dosiahnuť. Odrazy využívajú zdroj svetla v scéne na presné vykreslenie odrazov od reflexných objektov, ako sú sklo a voda. Jednou z najpopulárnejších hier, ktoré využívajú odrazy Ray Traced, je „Ovládanie“.
  • Okolitá oklúzia: To súvisí aj s tieňmi a je to viac-menej spojené s rovnakým základným procesom. Ambient Occlusion pomocou Ray Tracing predpovedá uhol a intenzitu tieňov na základe polohy a umiestnenia objektov v scéne. Po správnom vykonaní môže funkcia Ambient Occlusion dodať hre úžasné detaily a realizmus.
  • Globálne osvetlenie: Program Global Illumination, ktorý je pravdepodobne výpočtovo najnáročnejšou formou implementácie technológie Ray Tracing v moderných hrách, využíva technológiu Ray Tracing na presné vykreslenie svetového osvetlenia. To poskytuje oveľa realistickejší pocit osvetlenia, keď je zapnutý, ale má tiež obrovský negatívny dopad na výkon kvôli veľkému množstvu spracovávaných údajov. Aplikácia „Metro Exodus“ využíva technológiu Ray Tracing na zabezpečenie oveľa realistickejšej formy globálneho osvetlenia.
  • Úplné sledovanie trasy: Konečne tiež vidíme, že sa objavujú niektoré hry, ktoré sú plne stopované, čo v podstate znamená, že všetko je Ray Traced. Teraz sú tieto hry o niečo jednoduchšie a menšie ako ostatné hry, ktoré boli viac-menej AAA titulmi od veľkých spoločností, ale to neznamená, že nevyzerajú pôsobivo. V skutočnosti môžu niektorí tvrdiť, že tieto hry so sledovaním úplnej cesty vyzerajú lepšie ako všetky ostatné implementácie Ray Tracing. „Minecraft RTX“ a „Quake RTX“ sú dva z titulov, ktoré sú v čase písania článku plne stopovateľné.

Ray Traced Reflections môže byť tou najpríjemnejšou aplikáciou Ray Tracing v hrách - Obrázok: Nvidia

Čo potrebujem pre sledovanie lúčov?

Ako už bolo spomenuté, Ray Tracing je výpočtovo veľmi náročná úloha, takže pre svoju dobrú výkonnosť vyžaduje nejaký rozhodne špičkový hardvér. V čase písania tohto článku bolo k dispozícii niekoľko grafických kariet od spoločnosti AMD aj Nvidia, ktoré podporujú hardvérovo akcelerované sledovanie lúčov. Túto funkciu podporujú dokonca aj konzoly od spoločností Sony a Microsoft. To trochu rozširuje zoznam podporovaného hardvéru:

  • Séria Nvidia GeForce RTX 2000
  • Séria Nvidia GeForce RTX 3000
  • Rad AMD Radeon RX 6000
  • Microsoft Xbox Series X
  • Sony PlayStation 5

Majte na pamäti, že ak AMD zaobchádza s Ray Tracingom trochu inak ako Nvidia, znamená to o niečo väčšiu penalizáciu za výkon, ktorá sa pozoruje pri použití kariet AMD pre Ray Tracing. Ak si chcete vyskúšať vylepšený výkon pomocou Deep Learning Super Sampling, je táto funkcia k dispozícii iba na kartách RTX od spoločnosti Nvidia. AMD údajne pracuje na funkcii podobnej DLSS pre svoje karty série RX 6000, ale v súčasnosti je v čase písania článku ešte stále vo vývoji.

Spoločnosť Nvidia tiež zaviedla výraz „Giga Rays“, aby poskytla používateľom predstavu o relatívnych schopnostiach Ray Tracingu jej grafických kariet RTX. Nvidia tvrdí, že 5 Giga lúčov za sekundu je minimálne množstvo virtuálneho svetla, ktoré je ideálne potrebné na úplné osvetlenie typickej miestnosti v prostredí videohier. GeForce RTX 2070 ponúka 5 Giga Rays / s, zatiaľ čo RTX 2080 ponúka 8 Giga Rays za sekundu. RTX 2080Ti ponúka ohromujúcich 10 Giga Rays / s. Je to trochu svojvoľná jednotka, preto by sa mala všeobecne používať iba na vyjadrenie relatívnych výkonnostných očakávaní.

Strata výkonu a DLSS

Ako je už zrejmé, najväčšou nevýhodou sledovania lúčov je zásah do výkonu kvôli veľkému množstvu vyhradených výpočtov, ktoré je potrebné v tomto procese vykonať. V niektorých hrách je výkonnostný zásah taký veľký, že dokáže hru preniesť na rýchlosť snímkovania, ktorá sa už nepovažuje za hrateľnú. Výkonnostný hit je ešte väčší v hrách, ktoré využívajú zložitejšie implementácie Ray Tracingu ako Reflections, Global Illumination alebo Full Path Tracing.

Nvidia samozrejme myslela na túto situáciu s trestom výkonu a vyvinula tiež novú kompenzačnú techniku ​​známu ako Deep Learning Super Sampling. Táto technika s názvom DLSS bola vydaná spolu so sériou Nvidia RTX 2000 už v roku 2018. DLSS sme už podrobne preskúmali v tento článok , ale podstatou tejto technológie je, že vykresľuje obraz v nižšom rozlíšení a potom ho inteligentne a metodicky upscaluje tak, aby zodpovedal výstupnému rozlíšeniu, čím poskytuje výrazne lepší výkon ako natívne vykreslenie. DLSS je vynikajúci kompenzačný mechanizmus za stratu výkonu pri sledovaní lúča, ale dá sa použiť aj bez sledovania lúčov, aby poskytol ešte vyššie snímkové rýchlosti a oveľa lepší zážitok.

Keď je DLSS ZAPNUTÝ, zvyšuje sa podstatný výkon v kontrole - Obrázok: Nvidia

Najväčšou výhodou DLSS je, že používa Deep Learning a AI na upscalovanie obrazu, takže medzi natívnym a upscalovaným obrazom je malý až žiadny rozdiel v vizuálnej jasnosti. Spoločnosť Nvidia používa jadrá Tensor na svojej sérii kariet RTX na urýchlenie procesu DLSS, aby bolo možné tento upscalingový výpočet vykonať pri tempe vykresľovanej hry. Toto je skutočne vzrušujúca technológia, ktorú by sme radi videli ďalej rozvíjať a zlepšovať sa, ako je teraz.

Budúcnosť sledovania lúčov

Ray Tracing v hrách je ešte len na začiatku a môžeme s istotou povedať, že tu zostane. Spoločnosť AMD práve vydala svoje prvá rada kariet, ktoré podporujú úplné sledovanie lúčov v reálnom čase so sériou RX 6000 a systémy PlayStation 5 a Xbox Series X tiež podporujú funkciu Ray Tracing. Medzi súčasné prekážky, ktoré je potrebné prekonať, patrí strata výkonu a nízky počet hier, ktoré ju podporujú. Aktuálne hry, ktoré v čase písania článku podporovali Ray Tracing, zahŕňajú:

  • Uprostred zla
  • Battlefield V
  • Svetlá pamäť
  • Call of Duty: Modern Warfare (2019)
  • Call Of Duty: Black Ops Cold War
  • Ovládanie
  • Crysis Remastered
  • Doruč nám Mesiac
  • Fortnite
  • Ghostrunner
  • Spravodlivosti
  • Mechwarrior V: Mercenaries
  • Metro Exodus
  • Minecraft
  • Moonlight Blade
  • Pumpkin Jack
  • Quake II RTX
  • Shadow of the Tomb Raider
  • Zostaňte vo Svetle
  • Sledujte psy légie
  • Wolfenstein: Youngblood

Medzitým Nvidia potvrdila, že nasledujúce tituly budú po vydaní podporovať aj Ray Tracing:

  • Atómové srdce
  • Cyberpunk 2077 (uvedenie na trh)
  • Dying Light 2
  • Doom Eternal
  • Zaradený (november zatvorený, beta)
  • JX3
  • Mortal Shell (november)
  • Pozorovateľ: System Redux
  • Ready or Not (predčasné spustenie prístupu)
  • Ring Of Elysium (uvedenie na trh)
  • Synchronizované: mimo planétu
  • Zaklínač III
  • Vampire: The Masquerade - Bloodlines 2
  • World Of Warcraft: Shadowlands (november)
  • Meč Xuan-Yuan VII (uvedenie na trh)

Pripravované hry, ktoré podporujú RTX aj DLSS - Obrázok: Nvidia

Aj keď sa to nemusí zdať ako veľa hier, predstavuje to štart smerom, kde prevládajúcou formou vykreslenia môže byť Ray Tracing. Pokiaľ ide o výkon, je skutočne ťažké predpovedať, či sa výkonnostný zásah od Ray Tracingu trochu zníži alebo nie. Je však rozumné očakávať, že dôjde k zlepšeniu DLSS a ponúknutiu dostatočnej kompenzácie za stratu výkonu, ku ktorej dôjde zapnutím sledovania lúčov. V čase písania tohto článku nie je zoznam hier podporujúcich DLSS nijako rozširujúci, je však dobrým začiatkom mať na pamäti, že Nvidia ohlásila podporu DLSS aj pre niekoľko nadchádzajúcich hier. Tu sú všetky hry, ktoré momentálne podporujú Deep Learning Super Sampling:

  • Hymna
  • Battlefield V
  • Svetlá pamäť
  • Call Of Duty: Black Ops Cold War
  • Ovládanie
  • Uviaznutie smrti
  • Doruč nám Mesiac
  • F1 2020
  • Final Fantasy XV
  • Fortnite
  • Ghostrunner
  • Spravodlivosti
  • Marvel’s Avengers
  • Mechwarrior V: Mercenaries
  • Metro Exodus
  • Minecraft
  • Lovec príšer: svet
  • Shadow of the Tomb Raider
  • Sledujte psy légie
  • Wolfenstein Youngblood

Ako ste si mohli všimnúť, väčšina hier podporujúcich DLSS sú tituly, ktoré majú tiež určitú formu podpory Ray Tracing. To ponúka ďalšie potvrdenie teórie, že DLSS bol vyvinutý a vydaný hlavne ako kompenzačná technológia na zmiernenie nesmiernej straty výkonu pri sledovaní lúčov. DLSS je skutočne pôsobivá technológia, pretože Nvidia vysvetlila, že na vykonávanie zložitých výpočtov využíva superpočítač, ktorý trénuje algoritmus, ktorým sa riadia jadrá Tensor vo vnútri grafických procesorov Nvidia. Rovnako ako Ray Tracing sa očakáva, že DLSS príde aj na ďalšie hry:

  • Uprostred zla
  • Atómové srdce
  • Hranica
  • Cyberpunk 2077 (uvedenie na trh)
  • Edge of Eternity (november)
  • JX3
  • Mortal Shell (november)
  • Mount & Blade II Bannerlord (november)
  • Ready or Not (predčasné spustenie prístupu)
  • Zachytávače
  • Vampire: The Masquerade - Bloodlines 2
  • Meč Xuan-Yuan VII (uvedenie na trh)

DLSS v kombinácii s Ray Tracing sa zdá byť budúcnosťou herného priemyslu od roku 2020.

Zoznam hier podporujúcich DLSS 2.0 sa neustále zvyšuje - Obrázok: Nvidia

Záver

Rastrovanie je technika, ktorá sa v hrách už dlhšiu dobu používa na prevod 2D roviny polygónov na 3D obraz na obrazovke. V roku 2018 spoločnosť Nvidia predstavila sériu grafických kariet RTX 2000 s plnou podporou Ray Tracing v reálnom čase v hrách, čo je technika, ktorá využíva zložité výpočty na sledovanie lúčov svetla v scéne a vytvára tak presné vyobrazenia toho, ako by svetlo interagovalo s objekty v scéne. To prebralo svet hier neočakávanou búrkou a celé odvetvie dalo Ray Tracing ako svoje hlavné zameranie do budúcnosti.

V čase písania tohto článku spoločnosť Nvidia vydala ďalšiu generáciu grafických kariet, ktoré ešte viac zlepšujú ich výkon pri sledovaní lúčov, zatiaľ čo AMD aj konzoly taktiež oznámili úplnú podporu tejto funkcie. Nvidia tiež vylepšila svoju techniku ​​Deep Learning Super Sampling, ktorá využíva AI a Deep Learning na inteligentné upscalovanie obrazu, ktorý bol vykreslený v nižšom rozlíšení, aby sa vyrovnala strata výkonu spôsobená Ray Tracingom.

Zdá sa, že Ray Tracing tu zostane, a hoci počiatočný počet titulov, ktoré túto funkciu podporujú, nie je rozsiahly, stále sa vyhlasuje čoraz viac titulov, ktoré majú úplnú podporu pre Ray Tracing v reálnom čase. Teraz je na vývojároch, aby vo svojich pripravovaných hrách doladili funkcie Ray Tracing a tiež zvýšili počet titulov, ktoré túto funkciu podporujú. Spoločnosti Nvidia a AMD majú tiež zodpovednosť za optimalizáciu hardvéru pre túto funkciu, aby hráči nemuseli zažiť ničivú stratu výkonu, kedykoľvek chcú zapnúť sledovanie lúčov.