Ray Tracing versus gerasterde weergave - uitgelegd

Na de lancering van Nvidia's Turing-familie van GPU's in 2018, zag de gamewereld een exponentiële toename van de discussie over een functie die bekend staat als "Ray Tracing". Nvidia's toen gloednieuwe "RTX" -serie grafische kaarten bood ondersteuning voor iets dat "Real-Time Ray Tracing" in games wordt genoemd. De meeste mensen wisten niet zeker wat deze nieuwe functie was en waarom het zo zwaar werd gepusht door Nvidia, maar waren tegelijkertijd enthousiast en geïnteresseerd in de technologie. Ray Tracing was volgens Nvidia zo'n belangrijk punt dat ze het nodig achtten om het recht te zetten in de naam van de producten die ze lanceerden. De nieuwe GeForce "RTX" -serie kaarten verving de oudere "GTX" -variant als het ging om de beste SKU's zoals de 60,70,80 en -80Ti SKU's die Nvidia gewoonlijk uitbrengt.

Nvidia's RTX 2000-serie grafische kaarten bracht verschillende hardwarewijzigingen met zich mee die Ray Tracing-ondersteuning in games mogelijk maakten. De nieuwe op Turing gebaseerde grafische kaarten bevatten speciale cores die speciaal voor dit proces waren bedoeld en bekend stonden als RT Cores. Het doel van de RT-kernen was om specifiek alle grafische berekeningen af ​​te handelen die nodig waren om realtime Ray Tracing in games mogelijk te maken. Nvidia heeft de kaarten ook aangevuld met extra CUDA-kernen om de brute kracht van de kaarten te vergroten, terwijl ook een nieuwe set kernen is toegevoegd die bekend staat als Tensor Cores. Deze kernen waren bedoeld om te helpen bij deep-learning en AI-toepassingen, zoals een nieuwe vorm van opschalingstechniek die bekend staat als Deep Learning Super Sampling. We hebben Deep Learning Super Sampling of DLSS al uitgebreid besproken in dit artikel, waar je meer te weten kunt komen over de AI-aangedreven opschalingstechniek.

Ray Tracing is niet nieuw

Hoewel het op het eerste gezicht lijkt alsof Ray Tracing een nieuwe technologie is die is ontwikkeld door Nvidia, is de waarheid verre van dat. Ja, Nvidia was het eerste bedrijf dat ondersteuning voor realtime Ray Tracing in games implementeerde, maar dat betekent niet dat Ray Tracing niet bestond vóór de RTX-serie. Je hebt er waarschijnlijk al jaren van genoten zonder het te weten als je een recente film met CGI-effecten hebt bekeken.

De implementatie in films is weliswaar een beetje anders en veel intensiever dan de gameversie. Grote budgetproducties hebben de luxe om veel geld en tijd te kunnen besteden aan het renderen van die scènes. Van populaire animatiefilms is gemeld dat ze ongeveer 1000 supercomputers hebben gebruikt om de hele film in een maand tijd met Ray Tracing-effecten weer te geven. Dergelijke grootschalige weergaveprocessen zijn natuurlijk niet haalbaar of mogelijk voor de gemiddelde gamer die sommige games wil spelen met wat bijgewerkte beelden, dus de Ray Tracing-versie die aanwezig is in moderne games is nogal anders in toepassing. Toch is Ray Tracing een functie die aanwezig is in veel productiegebieden buiten gaming, waarbij films een van de meest prominente zijn.

Productiviteitssoftware die door professionals wordt gebruikt om aan grafisch intensieve scènes te werken, zoals Blender, ondersteunt ook Ray Tracing-functies. Deze computergraphics en rendering-software gebruiken verschillende niveaus van ray tracing-toepassingen om fotorealistische beelden te produceren in stilstaande beelden en 3D-animaties.

Wat is rasteren?

Dus waarom werd het door Nvidia nodig geacht om zo'n complex proces in traditionele games te implementeren? Is er enig verschil in het proces van Ray Tracing in games om het meer geoptimaliseerd te maken voor de werkbelasting? Om het mechanisme achter Ray Tracing te begrijpen, moeten we eerst het mechanisme begrijpen waarmee de games traditioneel worden weergegeven. Dit zal ons helpen te begrijpen waarom Ray Tracing wordt beschouwd als een verbetering en een grote sprong voorwaarts in grafische getrouwheid.

De techniek die momenteel voor het renderen wordt gebruikt, staat bekend als "Rasterization". Bij deze techniek stuurt de spelcode de GPU om een ​​3D-scène te tekenen met behulp van polygonen. Deze 2D-vormen (meestal driehoeken) vormen de meeste visuele elementen die op het scherm worden weergegeven. Nadat een scène is getekend, wordt deze vertaald of "gerasterd" in afzonderlijke pixels die vervolgens worden verwerkt door een speciale arcering. De shader voegt kleuren, texturen en lichteffecten toe per pixel om een ​​volledig gerenderd frame te produceren. Deze techniek moet ongeveer 30-60 keer per seconde worden herhaald om 30FPS- of 60FPS-beelden in games te produceren.

Beperkingen van rasteren

Hoewel rasteren al geruime tijd de standaardmodus voor weergave in games is, heeft het inherente proces achter rastering enkele beperkingen. Het grootste probleem met rasteren is dat deze techniek het moeilijk heeft om precies te volgen hoe het licht in een scène moet reizen en interageren met andere elementen van de scène. Gerasterde weergave levert niet dezelfde resultaten op als Ray Traced-weergave als het gaat om de lichteffecten en de algehele verlichting van een bepaalde scène. Gerasterde weergave kan soms ook enigszins onnauwkeurige beelden produceren met betrekking tot verlichting, wat de onderdompeling in een bepaald spel echt kan schaden. Dit is de reden waarom Ray Tracing wordt beschouwd als een superieure vorm van weergave als het gaat om grafische getrouwheid, vooral met betrekking tot verlichting.

Wat is Raytracing precies?

Nu we de traditionele vorm van gerasterde weergave hebben besproken, gaan we het hebben over de nieuwe toepassing van realtime Ray Tracing in moderne games. Ray Tracing is een renderingtechniek die een afbeelding creëert op basis van virtueel licht en hoe die lichtbron interageert met alle objecten in de virtuele scène. Ray Tracing kan een veel levensechtere weergave van scènes creëren die profiteren van de interactie van licht met de objecten in de scène om een ​​gevoel van realisme te geven. In eenvoudige bewoordingen is Ray Tracing een techniek die ervoor zorgt dat licht zich in videogames gedraagt ​​zoals in het echte leven.

Het mechanisme achter Ray Tracing

Het mechanisme achter Ray Tracing in games is inherent anders dan de andere vormen van Ray Tracing die al in andere industrieën, zoals films, voorkomen. In plaats van alle miljoenen stralen te volgen die van elke lichtbron komen, vermindert raytracing van consumentenkwaliteit de rekenbelasting door in plaats daarvan een pad te volgen van de camera dat het perspectief van de gebruiker vertegenwoordigt, via een enkele pixel, en vervolgens naar het object dat zich daarachter bevindt pixel en dan tenslotte terug naar de lichtbron van de betreffende scène. Deze techniek van Ray Tracing kan ook meerdere effecten produceren, zoals absorptie, reflectie, breking en diffusie van licht, zoals bepaald door het object dat in wisselwerking stond met het licht in de scène. Het Ray Tracing-algoritme kan ook rekening houden met resulterende stralen, zodat eventuele reflectie-effecten of schaduwen nauwkeurig worden weergegeven.

Verschillende vormen van Ray Tracing

Niet alle implementaties van Ray Tracing zijn hetzelfde. De verscheidenheid aan games die Ray Tracing ondersteunen, implementeren de functie elk op een enigszins andere manier. Het is aan de ontwikkelaar van het spel om de complexiteit van Ray Tracing in het spel te vergroten of te verkleinen, zodat het spel de perfecte balans tussen prestaties en visuele kwaliteit levert. Vanaf 2020 gebruiken de meeste games die Ray Tracing ondersteunen meestal alleen Ray Tracing voor één aspect van een scène in plaats van de hele scène weer te geven met Ray Tracing zelf. Het is mogelijk, maar de rekenkosten van full-scene Ray Tracing zijn astronomisch in vergelijking met de andere benaderingen en dus op dit moment niet de moeite waard. Op het moment van schrijven zijn de verschillende implementaties van Ray Tracing die momenteel in games worden gebruikt:

  • schaduwen: De eenvoudigste en minst intensieve Ray Tracing-implementatie is waarschijnlijk gerelateerd aan de schaduwen. Hier wordt Ray Tracing gebruikt om de schaduwen in een scène perfect weer te geven op basis van de oorsprong van het licht van de lichtbron en de positie van het object zelf. Deze techniek wordt vooral gebruikt in "Shadow of the Tomb Raider" om een ​​meer gedetailleerde schaduwkaart te maken die reageert op de veranderingen in de omgeving rond de objecten die de schaduwen produceren. Het meest opvallende is dat de beweging en hoek van de lichtbron nu dezelfde veranderingen in de resulterende schaduwen kunnen veroorzaken als we in het echte leven waarnemen.
  • reflecties: Reflecties zijn rekenkundig veel intensiever om te renderen met Ray Tracing, maar Ray Traced-reflecties zien er fenomenaal uit in moderne games en zijn waarschijnlijk de meest opmerkelijke grafische verbetering die kan worden verkregen met Ray Tracing. Reflecties gebruiken de lichtbron in een scène om de reflecties van reflecterende objecten zoals glas en water nauwkeurig weer te geven. Een van de meest populaire games die Ray Traced-reflecties gebruiken, is "Control".
  • Omgevingsocclusie: Dit is ook gerelateerd aan schaduwen en is min of meer verbonden met hetzelfde basisproces. Ambient Occlusion gebruikt Ray Tracing om de hoek en de intensiteit van schaduwen te voorspellen op basis van de positie en plaatsing van objecten in een scène. Als het goed wordt gedaan, kan Ambient Occlusion verbazingwekkende details en realisme aan een game toevoegen.
  • Globale verlichting: Waarschijnlijk de meest rekenintensieve vorm van Ray Tracing-implementatie in moderne games, Global Illumination gebruikt Ray Tracing om de wereldverlichting nauwkeurig weer te geven. Dit geeft een veel realistischer gevoel van verlichting wanneer het is ingeschakeld, maar het heeft ook een enorme impact op de prestaties vanwege de enorme hoeveelheid gegevens die wordt verwerkt. "Metro Exodus" gebruikt Ray Tracing om een ​​veel realistischere vorm van Global Illumination te bieden.
  • Volledige padtracering: Ten slotte zien we ook enkele games opduiken die volledig pad getraceerd zijn, wat in wezen betekent dat alles Ray Traced is. Toegegeven, deze spellen zijn iets eenvoudiger en kleiner dan de andere spellen die min of meer AAA-titels waren van grote bedrijven, maar dit betekent niet dat ze er niet indrukwekkend uitzien. Sommigen beweren zelfs dat deze games met volledige padtracering er beter uitzien dan alle andere Ray Tracing-implementaties. "Minecraft RTX" en "Quake RTX" zijn twee van de titels waarvan het pad volledig is getraceerd op het moment van schrijven.

Wat heb ik nodig voor Raytracing?

Zoals eerder vermeld, is Ray Tracing een zeer rekenintensieve taak, dus het vereist een aantal beslist hoogwaardige hardware om goed te presteren. Op het moment van schrijven zijn er verschillende grafische kaarten van zowel AMD als Nvidia die hardware-versnelde Ray Tracing ondersteunen. Zelfs de consoles van Sony en Microsoft ondersteunen deze functie. Dat breidt de lijst met ondersteunde hardware een beetje uit:

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

Houd er rekening mee dat als AMD Ray Tracing een beetje anders afhandelt dan Nvidia, er een iets grotere prestatievermindering is die wordt waargenomen wanneer u AMD-kaarten gebruikt voor Ray Tracing. Als je de verbeterde prestaties wilt ervaren met Deep Learning Super Sampling, is die functie ook alleen beschikbaar op Nvidia's RTX-kaarten. AMD werkt vermoedelijk aan een DLSS-achtige functie voor hun RX 6000-serie kaarten, maar momenteel is deze op het moment van schrijven nog in ontwikkeling.

Nvidia heeft ook de term "Giga Rays" bedacht om gebruikers een idee te geven van de relatieve Ray Tracing-mogelijkheden van zijn RTX grafische kaarten. Nvidia zegt dat 5 Giga Rays per seconde de minimale hoeveelheid virtueel licht is die idealiter nodig is om een ​​typische kamer in een videogameomgeving volledig te verlichten. De GeForce RTX 2070 biedt 5 Giga Rays/sec, terwijl de RTX 2080 8 Giga Rays per seconde biedt. De RTX 2080Ti biedt maar liefst 10 Giga Rays/sec. Het is echter een enigszins willekeurige eenheid, dus het mag alleen in het algemeen worden gebruikt om relatieve prestatieverwachtingen weer te geven.

Prestatieverlies en DLSS

Zoals inmiddels duidelijk is, is het grootste nadeel van Ray Tracing de prestatievermindering vanwege de grote hoeveelheid toegewijde berekeningen die in het proces moeten worden gedaan. In sommige games is de prestatiehit zo groot dat het spel naar een framerate kan gaan die niet langer als speelbaar wordt beschouwd. De prestatiehit is nog groter in games die complexere implementaties van Ray Tracing gebruiken, zoals Reflections, Global Illumination of Full Path Tracing.

Nvidia dacht natuurlijk aan deze prestatiestrafsituatie en ontwikkelde ook een nieuwe compensatietechniek die bekend staat als Deep Learning Super Sampling. Deze techniek genaamd DLSS werd in 2018 samen met Nvidia's RTX 2000-serie uitgebracht. We hebben DLSS al in detail onderzocht in dit artikel, maar de essentie van deze technologie is dat het de afbeelding met een lagere resolutie weergeeft en vervolgens de afbeelding slim en methodisch opschaalt om de uitvoerresolutie aan te passen om enorm superieure prestaties te leveren aan native rendering. DLSS is een uitstekend compensatiemechanisme voor het prestatieverlies van Ray Tracing, maar het kan ook zonder Ray Tracing worden gebruikt om nog hogere framerates en een veel betere ervaring te bieden.

Het grootste voordeel van DLSS is dat het Deep Learning en AI gebruikt om de afbeelding op te schalen, zodat er weinig tot geen verschil in visuele helderheid is tussen de native en de opgeschaalde afbeelding. Nvidia gebruikt de Tensor-kernen op zijn RTX-kaartenreeks om het DLSS-proces te versnellen, zodat deze opschalingsberekening kan worden uitgevoerd in het tempo van het spel dat wordt weergegeven. Dit is echt een opwindende technologie die we graag verder zouden zien ontwikkelen en verbeteren dan ze nu is.

Toekomst van Ray Tracing

Ray Tracing in games is nog maar net begonnen en we kunnen met zekerheid zeggen dat het hier is om te blijven. AMD heeft zojuist hun eerste reeks kaarten die volledige realtime Ray Tracing ondersteunen met de RX 6000-serie, en de PlayStation 5 en Xbox Series X hebben ook ondersteuning voor Ray Tracing. De huidige hindernissen die moeten worden overwonnen, zijn onder meer het prestatieverlies en het lage aantal games dat dit ondersteunt. De huidige games die Ray Tracing ondersteunen op het moment van schrijven zijn onder meer:

  • te midden van het kwaad
  • Battlefield V
  • Helder geheugen
  • Call of Duty: Modern Warfare (2019)
  • Call Of Duty: Black Ops Koude Oorlog
  • Controle
  • Crysis geremasterd
  • Bezorg ons de maan
  • Fortnite
  • Ghostrunner
  • Justitie
  • Mechwarrior V: Huurlingen
  • Metro Exodus
  • Minecraft
  • Moonlight Blade
  • Pompoen Jack
  • Quake II RTX
  • Shadow of the Tomb Raider Rai
  • Blijf in het licht
  • Watch Dogs Legion
  • Wolfenstein: Youngblood

Ondertussen heeft Nvidia bevestigd dat de volgende titels ook Ray Tracing zullen ondersteunen zodra ze uitkomen:

  • Atoom Hart
  • Cyberpunk 2077 (lancering)
  • Stervend licht 2
  • Eeuwig noodlot
  • Enlisted (gesloten bèta van november)
  • JX3
  • Mortal Shell (november)
  • Waarnemer: systeemredux
  • Klaar of niet (vroege toegang lancering)
  • Ring Of Elysium (lancering)
  • Gesynchroniseerd: buiten de planeet
  • The Witcher III
  • Vampire: The Masquerade – Bloodlines 2
  • World Of Warcraft: Shadowlands (november)
  • Xuan-Yuan Sword VII (lancering)

Hoewel dit misschien niet veel games lijken, vertegenwoordigt het een begin in een richting waarin Ray Tracing de overheersende vorm van weergave zou kunnen zijn. Wat de prestaties betreft, is het echt moeilijk te voorspellen of de prestatiehit van Ray Tracing een beetje zal worden verlaagd. Wat echter redelijkerwijs mag worden verwacht, is dat DLSS beter wordt en voldoende compensatie biedt voor het prestatieverlies dat wordt veroorzaakt door het inschakelen van Ray Tracing. Op het moment van schrijven is de lijst met games die DLSS ondersteunen op geen enkele manier uitgebreid, maar het is een goed begin om in gedachten te houden dat Nvidia ook DLSS-ondersteuning heeft aangekondigd voor verschillende aankomende games. Hier zijn alle spellen die momenteel Deep Learning Super Sampling ondersteunen:

  • Hymne
  • Battlefield V
  • Helder geheugen
  • Call Of Duty: Black Ops Koude Oorlog
  • Controle
  • Death Stranding
  • Bezorg ons de maan
  • F1 2020
  • Final Fantasy XV
  • Fortnite
  • Ghostrunner
  • Justitie
  • Marvel's Avengers
  • Mechwarrior V: Huurlingen
  • Metro Exodus
  • Minecraft
  • Monster Hunter: Wereld
  • Shadow of the Tomb Raider Rai
  • Watch Dogs Legion
  • Wolfenstein Youngblood

Zoals je misschien hebt gemerkt, zijn de meeste games die DLSS ondersteunen titels die ook een vorm van Ray Tracing-ondersteuning hebben. Dit biedt een verdere bevestiging van de theorie dat DLSS voornamelijk is ontwikkeld en uitgebracht als een compensatietechnologie om het immense prestatieverlies bij Ray Tracing te verminderen. DLSS is echter een serieus indrukwekkende technologie, aangezien Nvidia heeft uitgelegd dat het een supercomputer gebruikt om complexe berekeningen uit te voeren die het algoritme trainen dat de Tensor-kernen in de Nvidia GPU's volgen. Net als Ray Tracing wordt verwacht dat DLSS ook naar meer games zal komen:

  • te midden van het kwaad
  • Atoom Hart
  • Grens
  • Cyberpunk 2077 (lancering)
  • Rand van de eeuwigheid (november)
  • JX3
  • Mortal Shell (november)
  • Mount & Blade II Bannerlord (november)
  • Ready Or Not (lancering met vroege toegang)
  • Aaseters
  • Vampire: The Masquerade – Bloodlines 2
  • Xuan-Yuan Sword VII (lancering)

DLSS, gecombineerd met Ray Tracing lijkt vanaf 2020 de toekomst van de game-industrie te zijn.

Conclusie

Rasterisatie is de techniek die al heel lang in games wordt gebruikt om een ​​2D-vlak van polygonen om te zetten in een 3D-beeld op het scherm. In 2018 introduceerde Nvidia de RTX 2000-serie grafische kaarten met volledige ondersteuning voor realtime Ray Tracing in games, een techniek die gebruikmaakt van complexe berekeningen om de lichtstralen in een scène te traceren om nauwkeurige afbeeldingen te creëren van hoe het licht zou interageren met de objecten in een scène. Dit nam de wereld van gaming door een onverwachte storm en de hele industrie plaatste Ray Tracing als hun primaire focus voor de toekomst.

Op het moment van schrijven heeft Nvidia een nieuwe generatie grafische kaarten uitgebracht die hun Ray Tracing-prestaties verder verbeteren, terwijl zowel AMD als de consoles ook volledige ondersteuning voor de functie hebben aangekondigd. Nvidia heeft ook hun Deep Learning Super Sampling-techniek verbeterd, waarbij AI en Deep Learning worden gebruikt om het beeld dat met een lagere resolutie is weergegeven, slim op te schalen om het prestatieverlies als gevolg van Ray Tracing te compenseren.

Het lijkt erop dat Ray Tracing niet meer weg te denken is, en hoewel het aanvankelijke aantal titels dat de functie ondersteunt niet enorm is, worden er steeds meer titels aangekondigd die in de toekomst volledige ondersteuning bieden voor realtime Ray Tracing. Het is nu aan de ontwikkelaars om de Ray Tracing-functies in hun aankomende games te verfijnen en ook om het aantal titels dat deze functie ondersteunt te vergroten. Nvidia en AMD hebben ook de verantwoordelijkheid om hun hardware te optimaliseren voor deze functie, zodat gamers geen verwoestend prestatieverlies hoeven te ervaren wanneer ze Ray Tracing willen inschakelen.

Facebook Twitter Google Plus Pinterest