Ray tracing – djupdykning i tekniken och betydelsen för framtidens spel

När Nvidia lanserade Geforce RTX 2000-serien slogs det på stora trumman för ray tracing. Vad är det, hur skiljer det från traditionell rastrering och varför beskrivs det som "den heliga graalen"?

1. Inledning

Under hösten 2018 lanserade Nvidia grafikarkitekturen Turing tillsammans med Geforce RTX 2000-serien. Den stora nyheten var introduktionen av en teknik som kallas ray tracing, vilken är långt ifrån ny och är långtifrån någonting som Nvidia självt hittat på.

Historien om tekniken går långt bakåt i tiden och har sina rötter i sent 1960-tal, medan varianten som används idag kom på sent 70-tal. Hemdatoranvändarna fick en inblick i möjligheterna med ray tracing i mitten av 80-talet när programmet Sculpt 3D släpptes till legendariska Commodore Amiga.

amiga.png

För den levde med 1980-talets datorer var detta mäkta imponerande!

Ray tracing gav för tidsepoken fantastisk vackra bilder, men problemet var att även enkla scener tog tiotals minuter att färdigställa. Med andra ord var det ingen framkomlig väg för att exempelvis rendera spel i realtid och att göra detta med acceptabla bildfrekvenser.

Den här artikeln kommer inte blicka in mer i det förflutna än så här. Syftet är istället att försöka kasta en strimma ljus på hur tekniken fungerar, skingrar skuggorna kring DirectX Raytracing (DXR) kontra Nvidia RTX 2000-serien samt reflektera kring möjligheterna och utmaningarna med tekniken.

IMG_9344.jpg

Geforce RTX 2080 Ti FTW3 Ultra är EVGA:s flaggskepp i serien.

Målet är inte att du som läser ska kunna skriva din egen ray tracer. Tanken är att ge en översikt av algoritmer och koncept, där detaljer ersatts med vad jag hoppas är mer lättsmält "handviftande". För de flesta på SweClockers handlar frågorna om vad ray tracing innebär för spel, vilket också är ett av huvudmålen med artikeln.

Ett definitivt svar kring framtiden för vad ray tracing kommer göra för spel och i vilken omfattning kräver en bättre spåkula än den undertecknad har tillgång till. Jag ska i alla fall försöka ge underlag till framtida diskussioner och spekulationer om ämnet i forumet.

Flera illustrationer är skapade med Blender 2.8 beta. Jag använder just den då GPU-rendering med Nvidia RTX-serien har problem med tidigare versioner. Som bonus är prestandan vid GPU-rendering rejält förbättrad i denna version, även för tidigare GPU-serier. RTX-seriens RT-kärnor används tyvärr inte, men sådant stöd ser ut att dyka upp framöver.

I samarbete med EVGA

evga.png

Denna artikel produceras i samarbete med EVGA. Tack vare sponsorskap och samarbeten kan SweClockers fortsätta erbjuda högkvalitativt innehåll utan kostnad för läsaren.