Dette må du vite om fremtidens spillgrafikk
Spillselskapet Remedy sin raytracing-demo.

Annonse


Dette må du vite om fremtidens spillgrafikk

Blant dataspillere har det lenge vært et håp om at datagrafikken man ser i Hollywood-filmer (der man kan knapt kan skille mellom en virtuell verden og virkeligheten), en dag skulle komme til dataspill.

Etter Game Developers Conferance 2018, som ble holdt den tredje uka i mars i San Francisco, har man endelig nådd denne milepælen.

Krever ufattelig med datakraft

Hovedgrunnen til at det ikke har vært mulig å bruke grafikk-teknikken man bruker i filmer i spill, kalt raytracing, er fordi dette har krevd store mengder datakraft.

Hittil har det tatt lang tid å skape denne grafikken, gjerne dager eller uker, og denne jobben har blitt gjort serverparker, kalt «render farms». Tidsmessig har det ikke noe å si når man skal legge det til «filmrullen», men i spill må dette skje i sanntid.

Rasterization må du vite hva er, selv om det er gammelt

Så langt i dataspill har man brukt 3D grafikk-teknikken rastrering, på engelsk kalt rasterization, som de siste årene har vært i stand til å skape relativt realistiske 3D objekter på en 2D-skjerm.

Annonse


Objektene blir lagd med virtuelle triangler, også kalt polygoner, spredt utover et nett.

I det virtuelle nettet vil kantene på hvert triangel, kalt toppunkter, krysse toppunktene til andre triangler som har ulik størrelse og form. I hvert toppunkt finnes det informasjon som posisjon i rommet, farge, tekstur, og dens «normal»-tilstand, som blir brukt til å fastslå hvilken retning overflaten av objektet er vendt mot. Datamaskinen konverterer disse trianglene av 3D-modellen til piksler på skjermen, der hver piksel blir tildelt en fargekode fra informasjonen i toppunktene.

Deretter vil skyggeleggingen av pikslene basere seg på hvordan lyset treffer pikselet, legger teksturen til pikselet, og kombinerer dette til å generere den endelige fargen. Dette begrenser intensiteten i informasjon, og gjør at datamaskinen kan prosessere informasjonen lynraskt.

Raytracing gjør hele opplevelsen mer virkelighetstro og involverende

Raytracing, som så langt har blitt brukt til å skape datagenerte objekter og effekter i filmer, bruker en litt annen teknikk til å skape et realistisk miljø:

I den virkelige verden vil 3D objekter vi ser bli belyst av lyskilder, og fotonene kan bevege seg fra et objekt til et annet, bli reflektert og bli blokkert, før det når blikket vårt. I tillegg har vi lysbrytninger, hvor lyset forandrer seg når det beveger seg gjennom transparente eller semi-transparente objekter som glass og vann.

Raytracing fanger disse effektene ved å arbeide seg tilbake fra øyet som ser, og sporer lysbanen, refleksjoner, skygger og lysbrytning gjennom hver piksel i en to-dimensjonal overfalte og omgjør det til en 3D-modell av en scene.

En dybdebuffer lagrer dybdeinformasjon, og sørger for at de nærmeste objektene blir vist på skjermen, mens objektene bak forblir skjult.

Dette foregår det

Når en lysstråle treffer et objekt i en scene, så vil fargen og lys-informasjonen i sammenstøtet bidra til nivået i farge og belysning. Hvis strålene spretter av eller beveger seg gjennom overflaten til objekter, så vil farge og lys-informasjon fra alle objektene bidra til den siste pikselfargen. Ray tracing kan vise ting som bevegelses- og dybdeskarphet, gjennomsiktighet, “fuzzy” refleksjoner, og skyggenivåer, og bestemme hvordan lys sprer seg gjennom en scene.

Hvis man kombinerer denne teknikken med kraftige grafikkmotorer, vil det skape data-genererte bilder som fanger skygger, refleksjoner og lysbrytninger, og gjøre dem ugjenkjennelige fra bilder tatt opp med kameraer i den virkelige verden. Informasjonstettheten som skapes krever svært kraftige datamaskiner og mye plass, og så langt har dette altså bare vært tilgjengelig i filmmediet.

Nvidia + Microsoft

Men Nvidia annonserte nylig Nvidia RTX, som er en ray tracing teknologi som lar spillutviklere og innholdsprodusenter skape film-kvalitets datagrafikk i sanntid, og bruker Nvidias Volta arkitektur GPU-er.

De har inngått samarbeid med Microsoft for full RTX-støtte gjennom deres nye DirectX raytracing-grensesnitt, et grensesnitt også den nye Unreal Engine 4 vil benytte seg av. Andre programmer man vil finne raytracing er Autodesks Arnold, Chaos Groups V-Ray og Pixars Renderman.

Så om ikke lenge vil dataspillere kunne spille dataspill der grafikken er like god som det du ser på kino.

Annonse