Vad är Ray Tracing?

Innehållsförteckning:

Vad är Ray Tracing?
Vad är Ray Tracing?
Anonim

Strålspårning är en teknik för att rendera datorgrafik som skapar en bild genom att spåra strålars väg genom en scen. Strålarna kan interagera med föremål i scenen, studsa av dem och få egenskaper, som färg.

Ray Tracing: The Basics

Strålspårning emulerar verklig belysning. Ljuset vi ser är resultatet av fotoner som emitteras från energikällor, som solen. Fotoner kan studsa och spridas när de kolliderar med föremål. En spegel är allt du behöver för att se detta i aktion. Ljus som träffar en spegel skapar en reflektion.

Image
Image

Strålspårning simulerar detta. Antalet spårade strålar är ynka jämfört med den verkliga världen, där miljontals fotoner studsar över vårt synfält. Moderna spel spårar någonstans mellan en och fyra strålar per pixel. Ändå räcker det för att simulera den verkliga världen.

Att spåra en stråles väg låter den också interagera med spelvärlden. En stråle som studsar mot ett rött föremål kan påverkas av den färgen, vilket ger ett rött sken i närheten. Strålar kan spridas på olika sätt baserat på egenskaperna som ett spels artister ger till föremål, vilket möjliggör realistiska halvreflekterande eller grova ytor.

Strålspårning är ett viktigt steg framåt för 3D-grafik. Det skapar en realistisk bild genom att simulera strålarnas väg när de rör sig genom ett spel. Detta leder till belysning som kan interagera med omgivningen även när omgivningen inte är synlig för spelaren. Strålspårning kräver inte specialbyggd hårdvara för att fungera, men det är bara praktiskt på ett grafikkort eller spelkonsol som kan påskynda strålspårning eftersom det är mycket krävande.

Ray Tracing vs. Rasterization (eller 3D-grafik som du kände den)

Image
Image

Du kan fortfarande bli förvirrad även om du förstår den här förklaringen. Reflektioner fanns i tidigare spel, även de som nu är flera decennier gamla. Hur skiljer sig strålspårning?

Tidigare 3D-spel, och de flesta moderna spel, använder rastrering. Rasterisering kombinerar elementen i en 3D-spelvärld som är synlig för spelaren till en 2D-bild. Den återger bara det som borde vara synligt för spelaren, eftersom all prestation som används för att generera det som spelaren inte kan se är bortkastad. Detta skapar dock ett problem.

Låt oss återgå till exemplet med en spegel. Spelarens miljö och spelarkaraktären är inte synliga för spelaren (åtminstone i ett förstapersonsspel). Med rastrering finns det inget för spegeln att reflektera.

Naturligtvis finns speglar i moderna spel. De återger scenen två gånger. En passning är från spelarens synvinkel, medan en annan är från ett annat perspektiv. Det fördubblar dock prestanda som krävs för att rendera en scen.

Skärmrumsreflektioner, en teknik i populära 3D-spelmotorer, använd data på skärmen för att skapa en reflektion. Denna teknik är idealisk för reflekterande ytor i en vinkel mot spelarens perspektiv, som vatten. Men reflekterade objekt försvinner om objektet som reflekteras flyttas utanför skärmen.

Strålspårning delar inte dessa problem eftersom den, till skillnad från rastrering, kan spåra utanför spelarens perspektiv.

Också, i spel som låter strålar interagera med ytor, kan strålspårning visa realistiska färgutfall och halvreflekterande ytor som är svåra att hantera med rastrering.

Vilken hårdvara kräver Ray Tracing?

Image
Image

Strålspårning är ingen ny idé. Datavetare experimenterade med strålspårning i början av 1980-talet och skapade statiska bilder med realistisk belysning, reflektioner och skuggor. Tyvärr tog de timmar att rendera.

Ett videospel behöver strålspårning i re altid med 30 bilder per sekund eller mer. Det är bara möjligt med ett grafikkort som är utformat för att påskynda strålspårning.

Nvidias RTX-strålspårning är beroende av kisel som kallas en Tensor Core. Tensorkärnor finns bara i RTX-grafikkort. Nvidias GTX-kort kan rendera ett spel med ray tracing eftersom, som sagt, ray tracing inte kräver specialbyggt kisel. Prestandan är dock urusel jämfört med RTX-kort. Och vissa spel, som Minecraft med RTX ray tracing, kräver ett RTX-grafikkort på grund av det specifika sättet de möjliggör ray tracing.

AMD-kort som påskyndar strålspårning har inte specifikt varumärke och har inte dedikerat kisel. Istället använder de hårdvarujusteringar och mjukvaruuppdateringar för bättre resultat. Det är svårare att identifiera AMD-kort som påskyndar strålspårning, så var uppmärksam på detaljerna.

Sonys PlayStation 5 och Xbox Series X och S har grafikhårdvara från AMD som kan påskynda strålspårning. Det är upp till utvecklarna att aktivera, men många spel gör det inte. Ett anmärkningsvärt exempel är Cyberpunk 2077, som stödde RTX ray tracing på PC vid lanseringen men inte stödde ray tracing på nästa generations konsoler. Funktionen utlovas för nästa generations konsoler i en framtida patch.

Rekommenderad: