Strålesporing er en teknik til gengivelse af computergrafik, der skaber et billede ved at spore strålers vej gennem en scene. Strålerne kan interagere med objekter i scenen, hoppe af dem og få egenskaber, såsom farve.
Ray Tracing: The Basics
Strålesporing emulerer belysning i den virkelige verden. Det lys, vi ser, er resultatet af fotoner, der udsendes fra energikilder, som solen. Fotoner kan hoppe og spredes, når de kolliderer med objekter. Et spejl er alt hvad du behøver for at se dette i aktion. Lys, der rammer et spejl, skaber en refleksion.
Strålesporing simulerer dette. Antallet af sporede stråler er sølle sammenlignet med den virkelige verden, hvor millioner af fotoner hopper hen over vores synsfelt. Moderne spil sporer et sted mellem én og fire stråler pr. pixel. Alligevel er det nok til at simulere den virkelige verden.
At spore en stråles vej lader den også interagere med spilverdenen. En stråle, der preller af et rødt objekt, kan blive påvirket af den farve, hvilket kaster et rødt skær i nærheden. Stråler kan spredes på forskellige måder baseret på de egenskaber, som et spils kunstnere giver til objekter, hvilket tillader realistiske semireflekterende eller ru overflader.
Strålesporing er et væsentligt skridt fremad for 3D-grafik. Det skaber et realistisk billede ved at simulere strålernes vej, når de bevæger sig gennem et spil. Dette fører til belysning, der kan interagere med omgivelserne, selv når omgivelserne ikke er synlige for spilleren. Ray tracing kræver ikke specialbygget hardware for at fungere, men det er kun praktisk på et videokort eller en spillekonsol, der kan accelerere ray tracing, fordi det er meget krævende.
Ray Tracing vs. Rasterization (eller 3D-grafik, som du kendte det)
Du kan stadig være forvirret, selvom du forstår denne forklaring. Refleksioner var til stede i tidligere spil, selv dem, der nu er flere årtier gamle. Hvordan er strålesporing anderledes?
Tidligere 3D-spil, og de fleste moderne spil, bruger rasterisering. Rasterisering kombinerer elementerne i en 3D-spilverden, som er synlig for spilleren, til et 2D-billede. Det gengiver kun det, der skal være synligt for spilleren, da enhver præstation, der bruges til at generere, hvad spilleren ikke kan se, er spildt. Dette skaber dog et problem.
Lad os vende tilbage til eksemplet med et spejl. Spillerens miljø og spillerkarakteren er ikke synlige for spilleren (i hvert fald i et førstepersonsspil). Med rasterisering er der intet for spejlet at reflektere.
Selvfølgelig findes spejle i moderne spil. De gengiver scenen to gange. En aflevering er fra spillerens synspunkt, mens en anden er fra et andet perspektiv. Det fordobler den ydeevne, der er nødvendig for at gengive en scene.
Skærmrumsrefleksioner, en teknik i populære 3D-spilmotorer, brug data på skærmen til at skabe en refleksion. Denne teknik er ideel til reflekterende overflader i en vinkel i forhold til spillerens perspektiv, såsom vand. Imidlertid forsvinder reflekterede objekter, hvis det reflekterede element flyttes væk fra skærmen.
Strålesporing deler ikke disse problemer, fordi det i modsætning til rasterisering kan spore uden for spillerens perspektiv.
I spil, der tillader stråler at interagere med overflader, kan strålesporing også vise realistiske farveudløb og semi-reflekterende overflader, der er vanskelige at håndtere med rasterisering.
Hvilken hardware kræver Ray Tracing?
Strålesporing er ikke en ny idé. Dataloger eksperimenterede med strålesporing i begyndelsen af 1980'erne og skabte statiske billeder med realistisk belysning, refleksioner og skygger. Desværre tog de timer at gengive.
Et videospil har brug for ray-tracing i re altid med 30 billeder pr. sekund eller højere. Det er kun muligt med et videokort, der er designet til at accelerere strålesporing.
Nvidias RTX-strålesporing er afhængig af silicium kaldet en Tensor Core. Tensor Cores findes kun i RTX videokort. Nvidias GTX-kort kan gengive et spil ved hjælp af ray-tracing, fordi ray-tracing som sagt ikke kræver specialbygget silicium. Ydeevnen er dog afgrundsdyb sammenlignet med RTX-kort. Og nogle spil, som Minecraft med RTX-strålesporing, kræver et RTX-videokort på grund af den specifikke måde, de aktiverer strålesporing på.
AMD-kort, der accelererer ray-tracing, har ikke specifik branding og har ikke dedikeret silicium. I stedet bruger de hardware tweaks og softwareopdateringer for bedre resultater. Det er sværere at identificere AMD-kort, der accelererer ray tracing, så vær opmærksom på detaljerne.
Sonys PlayStation 5 og Xbox Series X og S har grafikhardware fra AMD, der kan accelerere ray-tracing. Det er dog op til udviklerne at aktivere, og mange spil gør det ikke. Et bemærkelsesværdigt eksempel er Cyberpunk 2077, som understøttede RTX ray tracing på pc ved lanceringen, men ikke understøttede ray tracing på næste generations konsoller. Funktionen er lovet til næste generations konsoller i en fremtidig patch.