Vad är Path Tracing och Ray Tracing? Och varför förbättrar de grafiken?

Om du har tagit ens den minsta blick mot spel- och grafiknyheter på sistone, då har du hört det senaste och bästa modeordet: ray tracing. Du kanske också har hört ett liknande klingande ord som kallas vägspårning. Och du kan bli helt förlåten för att du inte helt förstår vad någon av processerna är.

En enkel förklaring är att både vägspårning och strålspårning är grafiska tekniker som resulterar i mer realistiska bilder till priset av betydligt mer beräkningskraft. Det finns en Minecraft -video på YouTube som visar de speciella aspekterna av strålspårning på ett tydligt sätt, men som också illustrerar stressen det sätter på ett system.

Om det är den enda förklaringen du behöver, bra! Men om du vill gräva djupt och ta reda på hur varje teknik fungerar och varför GPU -hårdvaruföretag tar en mindre förmögenhet för ray-tracing-kapabla kort, läs vidare.

Rasterisering och datorgrafik

Alla bilder du ser visas på en datorskärm började inte som den bilden. Den börjar som antingen ett raster eller en vektorbild. En rasterbild består av en samling skuggade pixlar.

En vektorbild är baserad på matematiska formler som innebär att bilden kan ökas i storlek nästan oändligt. Nackdelen med vektorbilder är att mer exakta detaljer är svåra att uppnå. Vektorbilder(Vector) används bäst när endast ett fåtal färger behövs.

Rasteriseringens främsta styrka är dess hastighet, särskilt i jämförelse med tekniker som strålspårning. Din GPU , eller grafikbehandlingsenhet, säger åt spelet att skapa en 3D-bild av små former, oftast trianglar. Dessa trianglar omvandlas till individuella pixlar och förs sedan igenom en skuggning för att skapa bilden du ser på skärmen.

Rasterisering har varit det bästa alternativet för videospelsgrafik under lång tid på grund av hur snabbt det kan bearbetas, men när nuvarande teknik börjar stöta mot dess gränser behövs mer avancerade tekniker för att slå igenom till nästa nivå. Det är där ray tracing kommer in.

Strålspårning(Ray) ser mycket mer realistisk ut än rastrering, som bilden nedan illustrerar. Titta på reflektionerna på tekannan och skeden.

Vad är Ray Tracing?

På ytnivå är ray tracing ett paraplybegrepp som betyder allt från en enda skärning av ljus och objekt till fullständig fotorealism. I det vanligaste sammanhanget som används idag hänvisar emellertid strålspårning till en renderingsteknik som följer en ljusstråle (i pixlar) från ett börvärde och simulerar hur den reagerar när den möter föremål.

Ta en stund och titta på väggen i rummet du befinner dig i. Finns det en ljuskälla på väggen, eller reflekteras ljus från väggen från en annan källa? Strålspårad(Ray) grafik skulle börja vid ditt öga och följa din siktlinje till väggen och sedan följa ljusets väg från väggen tillbaka till ljuskällan.

Diagrammet ovan visar hur detta fungerar. Anledningen till de simulerade "ögonen" (kameran i detta diagram) är att minska belastningen på GPU :n .

Varför? Tja, ray tracing är inte helt nytt. Det har faktiskt funnits ganska länge. Pixar använder ray tracing-tekniker för att skapa många av sina filmer, men högfientlig, bild-för-bild-grafik med de upplösningar som Pixar uppnår tar tid.

Mycket(A lot) tid. Vissa bilder i Monsters University tog rapporterade 29 timmar vardera. Toy Story 3 tog i genomsnitt 7 timmar per bildruta, med vissa ramar som tog 39 timmar enligt en berättelse från 2010 från Wired.

Eftersom filmen illustrerar reflektionen av ljus från varje yta för att skapa den grafiska stil som alla lärt känna och älska, är arbetsbelastningen nästan ofattbar. Genom att begränsa strålspårningstekniker till bara vad ögat kan se, kan spel använda tekniken utan att orsaka att din grafikprocessor har en (bokstavligen) härdsmälta.

Ta en titt på bilden nedan.

Det är inte ett fotografi, trots hur verkligt det ser ut. Det är en strålspårad bild. Försök föreställa dig hur mycket kraft som krävs för att skapa en bild som ser ut så här. En stråle kan spåras och bearbetas utan större problem, men hur är det när den strålen studsar av ett föremål?

En enda stråle kan förvandlas till 10 strålar, och de 10 kan förvandlas till 100, och så vidare. Ökningen är exponentiell. Efter en punkt visar studsar och reflektioner bortom tertiär och kvartär minskande avkastning. Med andra ord kräver de mycket mer kraft för att beräkna och visa än vad de är värda. För att rendera en bild måste en gräns dras någonstans.  

Föreställ dig nu att du gör det 30 till 60 gånger per sekund. Det är den mängd kraft som krävs för att använda strålspårningstekniker i spel. Visst är det imponerande, eller hur?

Möjligheten att uppnå grafikkort som kan spåra strålar kommer att öka med tiden, och så småningom kommer denna teknik att bli lika lättillgänglig som 3D-grafik. Än så länge anses strålspårning fortfarande vara den senaste inom datorgrafik. Så hur spelar vägspårning in?

Vad är Path Tracing?

Banspårning(Path) är en typ av strålspårning. Det faller under det paraplyet, men där strålspårning ursprungligen teoretiserades 1968, dök vägspårning inte upp förrän 1986 (och resultaten var inte så dramatiska som de nu.)

Kommer du ihåg den exponentiella ökningen av strålar som nämndes tidigare? Banspårning(Path) ger en lösning på det. När du använder banspårning för rendering producerar strålarna bara en enda stråle per studs. Strålarna följer inte en bestämd linje per studs, utan skjuter snarare iväg i en slumpmässig riktning.

Vägspårningsalgoritmen tar sedan ett slumpmässigt urval av alla strålar för att skapa den slutliga bilden. Detta resulterar i provtagning av en mängd olika typer av belysning, men särskilt global belysning.

En intressant sak med banspårning är att effekten kan emuleras genom att använda shaders. En shader-patch dök upp nyligen för en Nintendo Switch -emulator som gjorde det möjligt för spelare att efterlikna vägspårad global belysning i titlar som The Legend of Zelda: Breath of the Wild och Super Mario Odyssey. Även om effekterna ser bra ut, är de inte lika kompletta som äkta vägspårning.

Banspårning(Path) är bara en form av strålspårning. Även om det hyllades som det bästa sättet att rendera bilder, har banspårning sina egna brister.

Men i slutändan resulterar både path tracing och ray tracing i helt vackra bilder. Nu när hårdvaran i konsumentklassade maskiner har nått en punkt där strålspårning är möjlig i realtid i videospel, står branschen redo att göra ett genombrott som är nästan lika imponerande som steget från 2D- till 3D-grafik.

Det kommer dock fortfarande att dröja - åtminstone flera år - innan den nödvändiga hårdvaran kommer att anses vara "prisvärd". Från och med nu kostar även de nödvändiga grafikkorten långt över $1 000.



About the author

Jag är en datorexpert med över 10 års erfarenhet inom mjukvaru- och webbläsarindustrin. Jag har designat, byggt och hanterat hela installationer av mjukvaruprogram, samt utvecklat och underhållit webbläsare. Min erfarenhet ger mig förmågan att ge tydliga, koncisa förklaringar av komplicerade ämnen – oavsett om det är hur Microsoft Office fungerar eller hur man får ut det mesta av Mozilla Firefox. Utöver mina datorkunskaper är jag också en skicklig skribent och kan kommunicera effektivt online och personligen.



Related posts