Volymstrålegjutning

Volume ray casting , ibland kallad volumetric ray casting , volumetric ray tracing eller volym ray marching , är en bildbaserad volymåtergivningsteknik . Den beräknar 2D-bilder från 3D-volymetriska datauppsättningar (3D- skalära fält) . Volymstrålkastning, som bearbetar volymdata, får inte förväxlas med strålgjutning i den mening som används vid strålspårning , som bearbetar ytdata. I den volymetriska varianten stannar inte beräkningen vid ytan utan "skjuter igenom" objektet och provar objektet längs strålen. Till skillnad från strålspårning ger volymstrålkastning inte sekundära strålar. När sammanhanget/applikationen är tydlig, kallar vissa författare det helt enkelt ray casting . Eftersom strålmarschering inte nödvändigtvis kräver en exakt lösning på strålkorsning och kollisioner, är den lämplig för realtidsberäkning för många applikationer där strålspårning är olämplig.

Klassificering

Tekniken för volymstrålkastning kan härledas direkt från renderingsekvationen . Det ger resultat av mycket hög kvalitet. Volymstrålkastning klassificeras som en bildbaserad volymåtergivningsteknik, eftersom beräkningen härrör från utdatabilden och inte ingångsvolymdata, som är fallet med objektbaserade tekniker.

Grundläggande algoritm

De fyra grundläggande stegen för volymstrålgjutning: (1) Strålgjutning (2) Sampling (3) Skuggning (4) Kompositering.

I sin grundläggande form består algoritmen för volymstrålkastning av fyra steg:

  1. Strålgjutning. För varje pixel i den slutliga bilden skjuts en siktstråle ("cast") genom volymen. I detta skede är det användbart att överväga att volymen berörs och innesluts i ett begränsande primitivt , ett enkelt geometriskt objekt - vanligtvis en kuboid - som används för att skära siktstrålen och volymen.
  2. Provtagning. Längs den del av siktstrålen som ligger inom volymen väljs provtagningspunkter eller prover på lika avstånd. I allmänhet är volymen inte i linje med synstrålen, och provtagningspunkterna kommer vanligtvis att vara placerade mellan voxlar . På grund av det är det nödvändigt att interpolera värdena för proverna från dess omgivande voxlar (vanligtvis med hjälp av trilinjär interpolation ).
  3. Skuggning. För varje samplingspunkt hämtar en överföringsfunktion en RGBA- materialfärg och en gradient av belysningsvärden beräknas. Gradienten representerar orienteringen av lokala ytor inom volymen. Proverna skuggas sedan (dvs färgade och upplysta) i enlighet med deras ytorientering och placeringen av ljuskällan i scenen.
  4. Kompositering. Efter att alla samplingspunkter har skuggats sammansätts de längs siktstrålen, vilket resulterar i det slutliga färgvärdet för den pixel som för närvarande bearbetas. Kompositionen härleds direkt från renderingsekvationen och liknar att blanda acetatskivor på en overheadprojektor. Det kan fungera bak-till-fram , dvs. beräkningen börjar med provet längst bort från tittaren och slutar med det som är närmast tittaren. Denna arbetsflödesriktning säkerställer att maskerade delar av volymen inte påverkar den resulterande pixeln. Ordningen fram och bak kan vara mer beräkningseffektiv eftersom den kvarvarande strålenergin sjunker medan strålen rör sig bort från kameran; så bidraget till renderingsintegralen minskar och därför kan mer aggressiva hastighets/kvalitetskompromisser tillämpas (ökning av avstånden mellan prover längs strålen är en av sådana kompromisser mellan hastighet och kvalitet).

Avancerade adaptiva algoritmer

Den adaptiva samplingsstrategin minskar dramatiskt renderingstiden för högkvalitativ rendering – ju högre kvalitet och/eller storlek på datamängden, desto större fördel jämfört med den vanliga/jämna samplingsstrategin. Adaptiv strålkastning på ett projektionsplan och adaptiv sampling längs varje enskild stråle passar dock inte bra till SIMD -arkitekturen hos modern GPU. Flerkärniga processorer passar dock perfekt för denna teknik, vilket gör dem lämpliga för interaktiv volymetrisk rendering av ultrahög kvalitet .

Exempel på högkvalitativ volymetrisk strålgjutning

Krokodilmumien tillhandahålls av Phoebe A. Hearst Museum of Anthropology, UC Berkeley. CT-data förvärvades av Dr. Rebecca Fahrig, Institutionen för radiologi, Stanford University, med hjälp av en Siemens SOMATOM-definition, Siemens Healthcare. Bilden renderades av Fovias High Definition Volume Rendering®-motor

Det här galleriet representerar en samling bilder renderade med högkvalitativ volymstrålkastning. Vanligtvis skiljer det skarpa utseendet av volymstrålkastningsbilder dem från utdata från texturmapping VR på grund av högre noggrannhet hos volymstrålkastningsrenderingar.

CT-skanningen av krokodilmumien har en upplösning på 3000×512×512 (16bit), skalldatasetet har en upplösning på 512×512×750 (16bit).

Ray marscherar

Termen strålmarsch är mer bred och hänvisar till metoder där simulerade strålar genomkorsas iterativt, vilket effektivt delar upp varje stråle i mindre strålsegment, och samplar någon funktion vid varje steg. Dessa metoder används ofta i fall där att skapa explicit geometri, som trianglar, inte är ett bra alternativ.

Visualisering av SDF-strålemarschalgoritm

Andra exempel på strålmarsch

  • I SDF-strålemarsch , eller sfärspårning , approximeras en skärningspunkt mellan strålen och en yta som definieras av en signerad distansfunktion (SDF). SDF:n utvärderas för varje iteration för att kunna ta så stora steg som möjligt utan att missa någon del av ytan. Ett tröskelvärde används för att avbryta ytterligare iteration när en punkt har nått som är tillräckligt nära ytan. Denna metod används ofta för 3D-fraktalrendering.
  • Vid återgivning av skärmutrymmeseffekter , såsom skärmrumsreflektion (SSR) och skärmutrymmesskuggor, spåras strålar med hjälp av G-buffertar , där normaldata för djup och yta lagras per varje 2D-pixel.

Se även

  • Amira – kommersiell 3D-visualisering och analysmjukvara (för biovetenskap och biomedicin) som använder en ray-casting-volymåtergivningsmotor (baserad på Open Inventor )
  • Avizo – kommersiell 3D-visualiserings- och analysmjukvara som använder en ray-casting-volymåtergivningsmotor (även baserad på Open Inventor)
  • Shadertoy - onlinegemenskap och plattform för datorgrafiker, akademiker och entusiaster som delar, lär sig och experimenterar med renderingstekniker och procedurkonst genom GLSL -kod
  • Volumetrisk vägspårning

externa länkar