Ray Tracing versus gerasterde weergave - uitgelegd

Na de lancering van Nvidia's Turing-familie van GPU's in 2018, zag de gamingwereld een exponentiële toename van de discussie over een functie die bekend staat als 'Ray Tracing'. De toen gloednieuwe 'RTX'-serie grafische kaarten van Nvidia bracht 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 werd deze zo zwaar onder druk gezet 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 in de naam van de producten die ze lanceerden te zetten. 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.



De Nvidia GeForce RTX 3080 is een van de snelste grafische kaarten die Ray Tracing ondersteunt - Afbeelding: Nvidia

De RTX 2000-serie grafische kaarten van Nvidia 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-cores was om specifiek alle grafische berekeningen te verwerken 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 werd 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 in detail besproken in Dit artikel , waar u meer te weten kunt komen over de door 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 er verre van. Ja, Nvidia was het eerste bedrijf dat ondersteuning voor real-time Ray Tracing in games implementeerde, maar dat betekent niet dat Ray Tracing niet bestond vóór de RTX-serie. Je hebt er waarschijnlijk jarenlang van genoten zonder het te weten als je een recente film hebt gezien met CGI-effecten.



Ray Tracing wordt al gebruikt in andere gebieden, zoals films - Afbeelding: Nvidia



De implementatie in films is weliswaar een beetje anders en veel intensiever dan de gaming-versie. Grote budgetproducties hebben de luxe om veel geld en tijd te kunnen besteden aan het weergeven van die scènes. Populaire animatiefilms hebben naar verluidt ongeveer 1000 supercomputers gebruikt om de hele film te renderen met Ray Tracing-effecten gedurende een periode van een maand. Dergelijke grootschalige renderprocessen zijn natuurlijk niet haalbaar of mogelijk voor de gemiddelde gamer die games wil spelen met wat geüpdatete beelden, dus de Ray Tracing-versie die aanwezig is in moderne games is nogal een beetje anders in toepassing. Toch is Ray Tracing een functie die in veel productiegebieden buiten gaming aanwezig is, waarbij films een van de meer 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 vond Nvidia het nodig om een ​​dergelijk complex proces in traditionele games te implementeren? Is er een verschil in het proces van Ray Tracing in games om het beter te maken voor de werklast? Om het mechanisme achter Ray Tracing te begrijpen, moeten we eerst het mechanisme begrijpen waarmee de spellen 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 wordt gebruikt voor weergave staat bekend als 'Rasterisatie'. Bij deze techniek zorgt de gamecode ervoor dat de GPU een 3D-scène tekent met 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 arcering 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.

Details van het mechanisme van Rasterisatie - Afbeelding: Medium.com

Beperkingen van rasteren

Hoewel rasteren al geruime tijd de standaardmodus voor weergave in games is, heeft het inherente proces achter rasteren enkele beperkingen. Het grootste probleem met rasteren is dat het bij deze techniek moeilijk is om precies bij te houden hoe het licht in een scène moet reizen en interactie moet hebben 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. Rasterweergave kan soms ook enigszins onnauwkeurige beelden opleveren met betrekking tot belichting, 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 Ray Tracing precies?

Nu we de traditionele vorm van gerasterde weergave hebben besproken, gaan we de nieuwe toepassing van realtime Ray Tracing in moderne games bespreken. 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 meer levensechte 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 net zo gedraagt ​​als in het echte leven.

Ray Tracing belooft visuals in games volledig te herzien - Afbeelding: Nvidia

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 die van elke lichtbron komen te volgen, vermindert raytracing van consumentenkwaliteit de rekenbelasting door in plaats daarvan een pad te volgen vanaf de camera dat het perspectief van de gebruiker weergeeft, via een enkele pixel, en vervolgens naar het object daarachter. pixel en dan uiteindelijk 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 interactie had 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.

In Ray Tracing gedraagt ​​licht zich in de game zoals in het echte leven - Afbeelding: Nvidia

Verschillende vormen van Ray Tracing

Niet alle implementaties van Ray Tracing zijn hetzelfde. De verscheidenheid aan games die Ray Tracing ondersteunen, implementeren de functie op een ietwat andere manier. Dit is aan de ontwikkelaar van de game om de complexiteit van Ray Tracing in de game te vergroten of te verkleinen, zodat de game 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 computationele kosten van volledige scène 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 aantoonbaar 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 behoorlijk wat rekenintensiever 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 bron van het licht in een scène om de reflecties van reflecterende objecten zoals glas en water nauwkeurig weer te geven. Een van de meest populaire spellen die Ray Traced-reflecties gebruiken, is 'Control'.
  • Omringende occlusie: Dit houdt ook verband met 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 binnen een scène. Als het goed wordt gedaan, kan Ambient Occlusion een aantal verbazingwekkende details en realisme aan een game toevoegen.
  • Globale verlichting: Waarschijnlijk de meest computerintensieve vorm van Ray Tracing-implementatie in moderne games, gebruikt Global Illumination Ray Tracing om de wereldverlichting nauwkeurig weer te geven. Dit geeft een veel realistischer gevoel van verlichting wanneer het wordt ingeschakeld, maar het heeft ook een enorme prestatieverhoging vanwege de enorme hoeveelheid gegevens die wordt verwerkt. 'Metro Exodus' gebruikt Ray Tracing om een ​​veel realistischere vorm van Global Illumination te bieden.
  • Traceren van volledig pad: Ten slotte zien we ook dat sommige games verschijnen die volledig padgetraceerd 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 zullen zelfs beweren dat deze games met volledige pad-tracering er beter uitzien dan alle andere Ray Tracing-implementaties. 'Minecraft RTX' en 'Quake RTX' zijn twee van de titels die volledig traceerbaar zijn op het moment van schrijven.

Ray Traced Reflections kan de meest in het oog springende toepassing van Ray Tracing in games zijn - Afbeelding: Nvidia

Wat heb ik nodig voor Ray Tracing?

Zoals eerder vermeld, is Ray Tracing een zeer computerintensieve taak, dus het vereist beslist hoogwaardige hardware om goed te presteren. Op het moment van schrijven zijn er verschillende grafische kaarten van zowel AMD als Nvidia die door 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 Series X
  • Sony PlayStation 5

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

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-stralen per seconde de minimale hoeveelheid virtueel licht is die idealiter nodig is om een ​​typische kamer in een videogame-omgeving 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 in het algemeen alleen worden gebruikt om relatieve prestatieverwachtingen te tonen.

Prestatieverlies en DLSS

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

Nvidia dacht natuurlijk aan deze prestatieboetesituatie en ontwikkelde ook een nieuwe compensatietechniek die bekend staat als Deep Learning Super Sampling. Deze techniek, DLSS genaamd, 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 slim en methodisch de afbeelding opschaalt om overeen te stemmen met de uitvoerresolutie om een ​​veel betere prestatie te bieden dan native rendering. DLSS is een uitstekend compensatiemechanisme voor het prestatieverlies van Ray Tracing, maar het kan ook zonder Ray Tracing worden gebruikt voor nog hogere framerates en een veel betere ervaring.

Aanzienlijke prestatiewinst in controle wanneer DLSS wordt ingeschakeld - Afbeelding: Nvidia

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 oorspronkelijke 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 willen ontwikkelen en beter zouden worden dan het 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:

  • Temidden van het kwaad
  • Battlefield V
  • Helder geheugen
  • Call of Duty: Modern Warfare (2019)
  • Call Of Duty: Black Ops Cold War
  • Controle
  • Crysis Remastered
  • Bezorg ons de maan
  • Fortnite
  • Ghostrunner
  • Justitie
  • Mechwarrior V: Mercenaries
  • Metro Exodus
  • Minecraft
  • Moonlight Blade
  • Pompoen Jack
  • Quake II RTX
  • Shadow of the Tomb Raider
  • Blijf in het licht
  • Bekijk Dogs Legion
  • Wolfenstein: Youngblood

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

  • Atoomhart
  • Cyberpunk 2077 (lancering)
  • Stervend licht 2
  • Doom Eternal
  • Aangeworven (gesloten bèta van november)
  • JX3
  • Mortal Shell (november)
  • Waarnemer: systeemredux
  • Ready Or Not (lancering met vroege toegang)
  • Ring Of Elysium (lancering)
  • Gesynchroniseerd: Off-Planet
  • The Witcher III
  • Vampire: The Masquerade - Bloodlines 2
  • World Of Warcraft: Shadowlands (november)
  • Xuan-Yuan Sword VII (lancering)

Aankomende games die zowel RTX als DLSS ondersteunen - Afbeelding: Nvidia

Hoewel dit misschien niet veel games lijken, vertegenwoordigt het een begin in een richting waarin de overheersende vorm van weergave heel goed Ray Tracing 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 redelijkerwijs te verwachten is, is dat DLSS beter wordt en voldoende compensatie biedt voor het prestatieverlies dat wordt opgelopen door Ray Tracing in te schakelen. 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 Cold War
  • Controle
  • Death Stranding
  • Bezorg ons de maan
  • F1 2020
  • Final Fantasy XV
  • Fortnite
  • Ghostrunner
  • Justitie
  • Marvel's Avengers
  • Mechwarrior V: Mercenaries
  • Metro Exodus
  • Minecraft
  • Monster Hunter: World
  • Shadow of the Tomb Raider
  • Bekijk 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 vrijgegeven als compensatietechnologie om het immense prestatieverlies bij Ray Tracing te verlichten. 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:

  • Temidden van het kwaad
  • Atoomhart
  • Grens
  • Cyberpunk 2077 (lancering)
  • Edge Of Eternity (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.

De lijst met games die DLSS 2.0 ondersteunen, blijft groeien - Afbeelding: Nvidia

Conclusie

Rasteren is de techniek die al heel lang wordt gebruikt om een ​​2D-vlak van polygonen om te zetten in een 3D-afbeelding op het scherm in games. In 2018 introduceerde Nvidia de RTX 2000-serie grafische kaarten met volledige ondersteuning voor real-time Ray Tracing in games, een techniek die complexe berekeningen gebruikt om de lichtstralen in een scène te traceren om een ​​nauwkeurige weergave te maken 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 stelde 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, die AI en Deep Learning gebruikt om de afbeelding die werd weergegeven met een lagere resolutie slim op te schalen om het prestatieverlies als gevolg van Ray Tracing te compenseren.

Het lijkt erop dat Ray Tracing hier is om te blijven, en hoewel het aanvankelijke aantal titels dat de functie ondersteunt niet uitgebreid is, worden er steeds meer titels aangekondigd die in de toekomst volledige ondersteuning bieden voor real-time 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 voor deze functie te optimaliseren, zodat gamers geen verwoestend prestatieverlies hoeven te ervaren wanneer ze Ray Tracing willen inschakelen.