Ray Tracing vs Rasterized Rendering - Explained

Etter lanseringen av Nvidias Turing-familie av GPUer i 2018, så verden av spill en eksponentiell økning i diskusjonen om en funksjon kjent som "Ray Tracing". Nvidias daværende splitter nye "RTX" -serie med grafikkort ga støtte til noe som heter "Real-Time Ray Tracing" i spill. De fleste var usikre på hva denne nye funksjonen var, og hvorfor ble den presset så tungt av Nvidia, men var samtidig begeistret og interessert i teknologien. Ray Tracing var et så stort poeng ifølge Nvidia at de anså det som nødvendig å sette det rett inn i navnet på produktene de lanserte. Den nye GeForce "RTX" -serien med kort erstattet den eldre "GTX" -varianten når det gjaldt de beste SKU-ene som de 60,70,80 og -80Ti-SKU-ene som Nvidia vanligvis gir ut.

Nvidias RTX 2000-serie med grafikkort medførte flere maskinvareendringer som muliggjorde Ray Tracing-støtte i spill. De nye Turing-baserte grafikkortene pakket spesielle kjerner i dem som var dedikert til denne prosessen og var kjent som RT Cores. Hensikten med RT-kjernene var å spesifikt håndtere all grafisk beregning som var nødvendig for å muliggjøre sanntids strålesporing i spill. Nvidia supplerte også kortene med ekstra CUDA-kjerner for å øke råkraften til kortene, samtidig som de la til et nytt sett med kjerner kjent som Tensor Cores. Disse kjernene var ment å hjelpe til med dyplæring og AI-applikasjoner, for eksempel en ny form for oppskaleringsteknikk kjent som Deep Learning Super Sampling. Vi har allerede diskutert Deep Learning Super Sampling eller DLSS i detalj i denne artikkelen, der du kan lære mer om AI-drevet oppskaleringsteknikk.

Ray Tracing er ikke nytt

Mens det ved første øyekast kan virke som om Ray Tracing er en ny teknologi som er banebrytende av Nvidia, er sannheten faktisk langt fra. Ja, Nvidia var det første selskapet som implementerte støtte for sanntids Ray Tracing i spill, men det betyr ikke at Ray Tracing ikke har eksistert før RTX-serien. Du har sannsynligvis hatt det glede uten å vite det i årevis hvis du har sett noen nyere film som inneholder CGI-effekter.

Implementeringen i filmer er riktignok litt annerledes og mye mer intensiv enn spillversjonen. Store budsjettproduksjoner har luksusen til å kunne bruke mye penger og tid på å gjengi scenene. Populære animerte filmer har blitt rapportert å ha brukt rundt 1000 superdatamaskiner for å gjengi hele filmen med Ray Tracing-effekter i løpet av en måned. Slike store gjengivelsesprosesser er selvfølgelig ikke gjennomførbare eller mulige for den gjennomsnittlige spilleren som ønsker å spille noen spill med noen oppdaterte bilder, og dermed er Ray Tracing-versjonen som er tilstede i moderne spill ganske annerledes i applikasjonen. Ray Tracing er likevel en funksjon som er til stede i mange produksjonsområder utenfor spill, med filmer som en av de mest fremtredende.

Produktivitetsprogramvare som brukes av profesjonelle til å jobbe med grafisk intensive scener, for eksempel Blender, støtter også Ray Tracing-funksjoner. Denne datagrafikken og gjengivelsesprogramvaren bruker forskjellige nivåer av strålesporingsapplikasjoner for å produsere fotorealistiske bilder i fremdeles gjengivelser og 3D-animasjoner.

Hva er rasterisering?

Så hvorfor ble det ansett som nødvendig av Nvidia å implementere en så kompleks prosess i tradisjonelle spill? Er det noen forskjell i prosessen med Ray Tracing i spill for å gjøre den mer optimalisert for arbeidsmengden? For å forstå mekanismen bak Ray Tracing, må vi først forstå mekanismen som spillene tradisjonelt blir gjengitt med. Dette vil hjelpe oss å forstå hvorfor Ray Tracing regnes som en forbedring og et stort sprang fremover i grafisk troskap.

Teknikken som for øyeblikket brukes til gjengivelse er kjent som “rasterisering”. I denne teknikken leder spillkoden GPUen til å tegne en 3D-scene ved hjelp av polygoner. Disse 2D-figurene (for det meste trekanter) utgjør de fleste av de visuelle elementene som vises på skjermen. Etter at en scene er tegnet blir den oversatt eller "rasterisert" til individuelle piksler som deretter blir behandlet av en dedikert skyggelegging. Skyggen legger til farger, teksturer og lyseffekter per pixel for å produsere en fullstendig gjengitt ramme. Denne teknikken må gjentas rundt 30-60 ganger i sekundet for å produsere 30FPS eller 60FPS visuals i spill.

Begrensninger av rasterisering

Mens rasterisering har vært standardmodus for gjengivelse i spill i ganske lang tid nå, har den iboende prosessen bak rasterisering noen begrensninger. Hovedproblemet med rasterisering er at denne teknikken har vanskelig for å spore nøyaktig hvordan lyset i en scene skal reise og samhandle med andre elementer i scenen. Rasterisert gjengivelse gir ikke de samme resultatene som Ray Traced-gjengivelse når det gjelder lyseffektene og den generelle belysningen til en bestemt scene. Rasterisert gjengivelse kan også noen ganger produsere noe unøyaktige bilder i forhold til belysning som virkelig kan skade fordypningen i et bestemt spill. Dette er grunnen til at Ray Tracing betraktes som en overlegen form for gjengivelse når det gjelder grafisk troskap, spesielt i forhold til belysning.

Hva er egentlig Ray Tracing?

Nå som vi har diskutert den tradisjonelle formen for rasterisert gjengivelse, la oss diskutere den nye anvendelsen av sanntids Ray Tracing i moderne spill. Ray Tracing er en gjengivelsesteknikk som skaper et bilde basert på virtuelt lys og hvordan lyskilden samhandler med alle gjenstandene i den virtuelle scenen. Ray Tracing kan skape en langt mer livaktig skildring av scener som utnytter interaksjonen av lys med gjenstandene inne i scenen for å gi en følelse av realisme. Med enkle ord er Ray Tracing en teknikk som gjør at lys oppfører seg i videospill som det gjør i det virkelige liv.

Mekanismen bak Ray Tracing

Mekanismen bak Ray Tracing i spill er iboende forskjellig fra de andre formene for Ray Tracing som allerede finnes i andre bransjer som filmer. I stedet for å spore alle de millioner av stråler som kommer fra hver lyskilde, reduserer strålesporingen av forbrukerkvalitet beregningsbelastningen ved i stedet å spore en bane fra kameraet som representerer brukerens perspektiv, gjennom en enkelt piksel, deretter til hvilket som helst objekt som ligger bak det piksel og deretter til slutt tilbake til lyskilden til den aktuelle scenen. Denne teknikken for Ray Tracing kan også gi flere effekter som absorpsjon, refleksjon, refraksjon og diffusjon av lys som bestemt av objektet som samhandlet med lyset i scenen. Ray Tracing-algoritmen kan også ta hensyn til resulterende stråler slik at eventuelle refleksjonseffekter eller skygger vises nøyaktig.

Ulike former for strålesporing

Ikke alle implementeringer av Ray Tracing er de samme. Mangfoldet av spill som støtter Ray Tracing, implementerer funksjonen på en noe annen måte. Dette er opp til utvikleren av spillet å øke eller redusere kompleksiteten til Ray Tracing i spillet, slik at spillet gir den perfekte balansen mellom ytelse og visuell kvalitet. Fra og med 2020 bruker de fleste spill som støtter Ray Tracing bare bare Ray Tracing for ett aspekt av en scene i motsetning til å gjengi hele scenen ved hjelp av Ray Tracing selv. Det er mulig, men beregningskostnadene for fullstendig strålesporing er astronomiske sammenlignet med de andre tilnærmingene og er derfor ikke verdt innsatsen i det minste akkurat nå. I skrivende stund er de forskjellige implementeringene av Ray Tracing som for tiden brukes i spill:

  • Skygger: Den enkleste og minst intensive Ray Tracing-implementeringen er uten tvil relatert til skyggene. Her blir Ray Tracing brukt til å gjengi skyggene perfekt i en scene basert på opprinnelsen til lyset fra lyskilden og selve objektet. Denne teknikken brukes mest i “Shadow of the Tomb Raider” for å produsere et mer detaljert skyggekart som reagerer på endringene i miljøet rundt objektene som produserer skyggene. Spesielt kan bevegelsen og vinkelen til lyskilden nå medføre de samme endringene i de resulterende skyggene som vi observerer i det virkelige liv.
  • Refleksjoner: Refleksjoner er ganske mye mer beregningsintensive å gjengi ved hjelp av Ray Tracing, men Ray Traced-refleksjoner ser fenomenale ut i moderne spill og er sannsynligvis den mest bemerkelsesverdige grafiske forbedringen som kan oppnås ved bruk av Ray Tracing. Refleksjoner bruker lyskilden i en scene for å gjengi refleksjonene fra reflekterende gjenstander som glass og vann. Et av de mest populære spillene som bruker Ray Traced-refleksjoner er "Control".
  • Omgivende okklusjon: Dette er også relatert til skygger og er mer eller mindre knyttet til den samme grunnleggende prosessen. Ambient Occlusion bruker Ray Tracing for å forutsi skyggenes vinkel og intensitet basert på plasseringen og plasseringen av objekter i en scene. Når det er gjort riktig, kan Ambient Occlusion legge til noen fantastiske detaljer og realisme i et spill.
  • Global belysning: Sannsynligvis den mest beregningsintensive formen for implementering av Ray Tracing i moderne spill, bruker Global Illumination Ray Tracing for å skildre verdensbelysningen nøyaktig. Dette gir en mye mer realistisk følelse av belysning når den slås på, men den har også en enorm ytelse på grunn av den store mengden data som behandles. “Metro Exodus” bruker Ray Tracing for å gi en mye mer realistisk form for Global Illumination.
  • Fullsporing: Til slutt ser vi også at noen spill dukker opp som er fullstendig sporet, noe som egentlig betyr at alt er Ray Traced. Nå gitt, er disse spillene noe enklere og mindre enn de andre spillene som var mer eller mindre AAA-titler fra store selskaper, men dette betyr ikke at de ikke ser imponerende ut. Faktisk kan noen hevde at disse spillene med full sti-sporing ser bedre ut enn alle andre Ray Tracing-implementeringer. “Minecraft RTX” og “Quake RTX” er to av titlene som er fullstendig sporet tilgjengelig i skrivende stund.

Hva trenger jeg for strålesporing?

Som nevnt tidligere, er Ray Tracing en veldig beregningsintensiv oppgave, så det krever noe avansert avansert maskinvare for å prestere godt. I skrivende stund er det flere grafikkort fra både AMD og Nvidia som støtter maskinvareakselerert Ray Tracing. Selv konsollene fra Sony og Microsoft støtter denne funksjonen. Det utvider listen over støttet maskinvare litt:

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

Husk at hvis AMD håndterer Ray Tracing litt annerledes enn Nvidia, så er det en noe større ytelsesstraff som blir observert når du bruker AMD-kort til Ray Tracing. Hvis du vil oppleve forbedret ytelse ved hjelp av Deep Learning Super Sampling, er denne funksjonen også bare tilgjengelig på Nvidias RTX-kort. AMD jobber visstnok med en DLSS-lignende funksjon for kortene i RX 6000-serien, men for øyeblikket er den fortsatt under utvikling i skrivende stund.

Nvidia har også laget begrepet "Giga Rays" for å gi brukerne en ide om de relative Ray Tracing-funksjonene til RTX-grafikkortene. Nvidia sier at 5 Giga-stråler per sekund er den minste mengden virtuelt lys som ideelt sett kreves for å fullstendig belyse et typisk rom i et videospillmiljø. GeForce RTX 2070 tilbyr 5 Giga-stråler / sek, mens RTX 2080 tilbyr 8 Giga-stråler per sekund. RTX 2080Ti tilbyr hele 10 Giga-stråler / sek. Det er en noe vilkårlig enhet, men det bør bare brukes generelt for å vise relative ytelsesforventninger.

Ytelsestap og DLSS

Som det er tydelig nå, er den største ulempen med Ray Tracing hit for ytelse på grunn av den store mengden dedikert beregning som må gjøres i prosessen. I noen spill er ytelseshittet så stort at det kan ta spillet til en framerate som ikke lenger anses som spillbar. Ytelseshit er enda større i spill som bruker mer komplekse implementeringer av Ray Tracing som Reflections, Global Illumination eller Full Path Tracing.

Selvfølgelig tenkte Nvidia på denne ytelsesstraffssituasjonen, og utviklet også en ny kompensasjonsteknikk kjent som Deep Learning Super Sampling. Denne teknikken kalt DLSS ble utgitt sammen med Nvidias RTX 2000-serie tilbake i 2018. Vi har allerede utforsket DLSS i detalj i denne artikkelen, men essensen av denne teknologien er at den gjengir bildet med en lavere oppløsning og deretter smart og metodisk oppskalerer bildet for å matche utgangsoppløsningen for å gi overlegen ytelse til naturlig gjengivelse. DLSS er en utmerket kompensasjonsmekanisme for ytelsestap av Ray Tracing, men den kan også brukes uten Ray Tracing for å gi enda høyere rammer og en mye bedre opplevelse.

Den største fordelen med DLSS er at den bruker Deep Learning og AI for å oppskalere bildet slik at det er liten eller ingen forskjell på visuell klarhet mellom det opprinnelige og det oppskalerte bildet. Nvidia bruker Tensor-kjernene på RTX-serien med kort for å akselerere DLSS-prosessen, slik at denne oppskaleringsberegningen kan gjøres i tempoet i spillet som blir gjengitt. Dette er en virkelig spennende teknologi som vi gjerne vil se utvikle seg videre og bli bedre enn den er nå.

Fremtiden for strålesporing

Ray Tracing i spill begynner bare og vi kan med sikkerhet si at det er kommet for å bli. AMD har nettopp gitt ut sine første utvalg av kort som støtter full sanntidssporing med RX 6000-serien, og PlayStation 5 og Xbox Series X har også støtte for Ray Tracing. De nåværende hindringene som må overvinnes inkluderer ytelsestap og det lave antallet spill som støtter det. De nåværende spillene som støtter Ray Tracing i skrivende stund inkluderer:

  • Midt ondt
  • Battlefield V
  • Bright Memory
  • Call of Duty: Modern Warfare (2019)
  • Call Of Duty: Black Ops Cold War
  • Kontroll
  • Crysis Remastered
  • Lever oss månen
  • Fortnite
  • Ghostrunner
  • Rettferdighet
  • Mechwarrior V: leiesoldater
  • Metro Exodus
  • Minecraft
  • Moonlight Blade
  • Pumpkin Jack
  • Quake II RTX
  • Shadow of the Tomb Raider
  • Hold deg i lyset
  • Watch Dogs Legion
  • Wolfenstein: Youngblood

I mellomtiden har Nvidia bekreftet at følgende titler også vil støtte Ray Tracing når de kommer ut:

  • Atomic Heart
  • Cyberpunk 2077 (lansering)
  • Døende lys 2
  • Doom Evig
  • Vervet (beta avsluttet i november)
  • JX3
  • Mortal Shell (november)
  • Observatør: System Redux
  • Ready Or Not (lansering av tidlig tilgang)
  • Ring Of Elysium (lansering)
  • Synkronisert: Off-Planet
  • The Witcher III
  • Vampire: The Masquerade - Bloodlines 2
  • World Of Warcraft: Shadowlands (november)
  • Xuan-Yuan Sword VII (lansering)

Selv om disse kanskje ikke virker som mange spill, representerer det en start mot en retning der den dominerende formen for gjengivelse veldig godt kan være Ray Tracing. Så langt som ytelse går, er det veldig vanskelig å forutsi om ytelseshiten fra Ray Tracing vil bli senket litt eller ikke. Det som er rimelig å forvente er imidlertid at DLSS blir bedre og tilbyr tilstrekkelig kompensasjon for ytelsestapet som påløper ved å slå på Ray Tracing. I skrivende stund er listen over spill som støtter DLSS ikke ekspansiv på noen måte, men det er en god start å huske på at Nvidia har kunngjort DLSS-støtte for flere kommende spill også. Her er alle spillene som for øyeblikket støtter Deep Learning Super Sampling:

  • Hymne
  • Battlefield V
  • Bright Memory
  • Call Of Duty: Black Ops Cold War
  • Kontroll
  • Death Stranding
  • Lever oss månen
  • F1 2020
  • Final Fantasy XV
  • Fortnite
  • Ghostrunner
  • Rettferdighet
  • Marvels Avengers
  • Mechwarrior V: leiesoldater
  • Metro Exodus
  • Minecraft
  • Monster Hunter: World
  • Shadow of the Tomb Raider
  • Watch Dogs Legion
  • Wolfenstein Youngblood

Som du kanskje har lagt merke til, er de fleste spillene som støtter DLSS titler som også har noen form for Ray Tracing-støtte. Dette gir ytterligere bekreftelse på teorien om at DLSS er utviklet og utgitt hovedsakelig som en kompensasjonsteknologi for å lindre det enorme tapet av ytelse i Ray Tracing. DLSS er imidlertid en seriøst imponerende teknologi, ettersom Nvidia har forklart at den bruker en superdatamaskin til å utføre komplekse beregninger som trener algoritmen som Tensor-kjernene inne i Nvidia GPU-ene følger. Akkurat som Ray Tracing, forventes det at DLSS også kommer til flere spill:

  • Midt ondt
  • Atomic Heart
  • Grense
  • Cyberpunk 2077 (lansering)
  • Edge Of Eternity (november)
  • JX3
  • Mortal Shell (november)
  • Mount & Blade II Bannerlord (november)
  • Klar eller ikke (lansering av tidlig tilgang)
  • Scavengers
  • Vampire: The Masquerade - Bloodlines 2
  • Xuan-Yuan Sword VII (lansering)

DLSS, kombinert med Ray Tracing ser ut til å være fremtiden for spillindustrien fra og med 2020.

Konklusjon

Rasterisering er teknikken som har blitt brukt til å konvertere et 2D-plan av polygoner til et 3D-bilde på skjermen i spill i lang tid nå. I 2018 introduserte Nvidia RTX 2000-serien med grafikkort med full støtte for sanntids Ray Tracing i spill, en teknikk som bruker komplekse beregninger for å spore lysstrålene i en scene for å skape nøyaktige skildringer av hvordan lyset ville samhandle med gjenstandene i en scene. Dette tok spillverdenen med en uventet storm, og hele bransjen satte Ray Tracing som sitt primære fokus fremover.

I skrivende stund har Nvidia gitt ut en ny generasjon grafikkort som ytterligere forbedrer Ray Tracing-ytelsen mens både AMD og konsollene også har kunngjort full støtte for funksjonen. Nvidia har også forbedret deres Deep Learning Super Sampling-teknikk, som bruker AI og Deep Learning for å oppskalere bildet som ble gjengitt med en lavere oppløsning for å kompensere for ytelsestapet på grunn av Ray Tracing.

Det virker som om Ray Tracing er kommet for å bli, og mens det opprinnelige antallet titler som støtter funksjonen ikke er ekspansivt, blir flere og flere titler kunngjort som har full støtte for sanntids Ray Tracing fremover. Det er nå opp til utviklerne å finjustere Ray Tracing-funksjonene i sine kommende spill, og også å øke antall titler som støtter denne funksjonen. Nvidia og AMD har også et ansvar for å gjøre maskinvaren optimalisert for denne funksjonen, slik at spillere ikke trenger å oppleve ødeleggende ytelsestap når de vil slå på Ray Tracing.

Facebook Twitter Google Plus Pinterest