Strålesporing ( eng. Ray tracing ; ray tracing ) er en af metoderne inden for geometrisk optik - studiet af optiske systemer ved at spore individuelle strålers interaktion med overflader. I snæver forstand er det en teknologi til at konstruere et billede af tredimensionelle modeller i computerprogrammer, hvor den omvendte bane af stråleudbredelsen spores (fra skærmen til kilden).
Strålesporing i pc-spil er en løsning til at skabe realistisk belysning, refleksioner og skygger, der giver et højere niveau af realisme end traditionelle gengivelsesmetoder . Nvidias Turing var den første arkitektur (sommeren 2018), der muliggjorde strålesporing i realtid på GPU'en . [1] Andre anvendelser af strålesporing er auralisering og højfrekvente teknologier.
Før ray tracing blev udviklet, bestod det spæde område af 3D-computergrafik i det væsentlige af en række "softwaretricks", der efterligner skyggen af oplyste objekter. Strålesporing var den første algoritme på dette område, der gav fysisk mening.
Det første strålesporede billede blev vist på en oscilloskoplignende skærm ved University of Maryland i 1963. [2] Arthur Appel, Robert Goldstein og Roger Nagel, som udgav algoritmen i slutningen af 1960'erne, bliver ofte nævnt som udviklere af strålesporingsalgoritmen. [3] [4] [5] Andre forskere involveret i strålesporing på det tidspunkt var Herb Steinberg, Marty Cohen og Eugene Troubetzkoy. [6] Strålesporing er baseret på geometrisk optik, hvor lys refererer til en gruppe af stråler. De teknikker, der anvendes til strålesporing, er blevet brugt meget tidligere, herunder af producenter af optiske systemer. I dag bruger mange renderere (computerprogrammer til at skabe billeder fra 3D-scener) ray tracing, muligvis i kombination med andre processer.
Simple former for strålesporing beregner kun direkte belysning, det vil sige lys, der kommer direkte fra lyskilder. Imidlertid er ray tracing udvidet meget med adskillige gange, siden det først blev brugt i computergrafik . Mere avancerede former tager også højde for indirekte lys reflekteret fra andre objekter; så tal om den globale belysningsmetode.
Udtrykket Raycasting beskriver hovedsageligt en forenklet form for strålesporing, men bruges nogle gange også i flæng.
En alvorlig ulempe ved backtracing-metoden er ydeevne . Rasteriserings- og linjescanningsmetoden bruger datakohærens til at fordele beregninger på tværs af pixels. Mens strålesporingsmetoden hver gang starter processen med at bestemme farven på en pixel på ny, idet man overvejer hver observationsstråle separat. Denne adskillelse kommer dog med nogle andre fordele, såsom evnen til at spore flere stråler end beregnet for at eliminere konturruhed i visse områder af modellen. Det styrer også refleksionen af stråler og virkningerne af brydning, og generelt - graden af fotorealisme af billedet.
For at løse problemerne med strålingsvarmeoverførsel anerkendes den zonale beregningsmetode som den mest effektive, som er baseret på beregningen af strålingsvinkelkoefficienterne for hvert par overflade- og volumenzoner. Strålingskoefficienten for to zoner er lig med den del af strålingsenergien, der kom fra den første zone og blev absorberet af den anden zone. I mange værker, der er afsat til teorien om varmeoverførsel, overvejes forenklede modeller af tekniske systemer: metallurgiske ovne og andre højtemperaturenheder, hvor stråling passerer uhindret fra en zone til en anden. I virkeligheden har de fleste systemer en kompleks geometri, hvor strålingen er afskærmet, blokeret af forhindringer i systemet: emner, selve ovnens vægge, væggene i forskellige kanaler. Tilstedeværelsen af forhindringer i strålingsvejen fører til det faktum, at varmebalanceligningerne kompileret ved hjælp af hældningskoefficienterne beregnet ved hjælp af standardformler giver et stærkt forvrænget resultat, da de ikke tager højde for strålingsafskærmning.
I systemer med simpel geometri i fravær af skærme beregnes hældningskoefficienterne ved formel 1. I mangel af et absorberende og spredende medium er hældningskoefficienten fra overflade til overflade:
(en)
Standardformlen til beregning af zonevarmeoverførsel tager dog ikke højde for tilstedeværelsen af andre overflader i systemet. Beregning af hældningskoefficienter uden hensyntagen til forhindringer, når det meste af strålingen er afskærmet, kan føre til fejl på op til 100 % ved bestemmelse af varmestrømme og zonetemperaturer.
For at tage højde for tilstedeværelsen af forhindringer i strålingsvejen kontrolleres deres synlighed for hvert par elementære områder og elementære volumener. Mellem deres centre tegnes en stråle, som kontrolleres for skæring med alle andre uigennemsigtige overflader. Til numerisk integration og under hensyntagen til tilstedeværelsen af forhindringer, bruges en diskret version af formel 1 multipliceret med synlighedsfunktionen:
(2)
Processen med at bestemme afskærmningen af stråling kræver dog flere størrelsesordener mere beregningsmæssig indsats end beregningen af hældninger, varmestrømme og temperaturer i systemer med en simpel geometri uden afskærmning.
I store systemer med kompleks geometri kan antallet af overflade- og volumenelementer nå op på tusinder eller titusinder, og antallet af udsendte stråler er millioner eller milliarder. I princippet er antallet af stråler ikke begrænset. Den direkte metode til strålesporing, sammenlignet med andre avancerede metoder, er, at skæringen af hver stråle med alle skærme (områder) undtagen de udsendende og modtagende overflader kontrolleres. Den direkte metode er meget arbejdskrævende, da det samlede antal krydstjek afhænger af antallet af overflader M som O(M^3). I en sådan situation spiller strålesporingsaccelerationsmetoder, der ikke kræver kontrol af skæringspunktet mellem en stråle med hver skærm, en afgørende rolle.
Så,
1) De fleste systemer har forhindringer, der blokerer for strålingens passage;
2) Beregning af vinkelkoefficienter uden hensyntagen til strålingsafskærmning fører til fejl op til 100 % ved bestemmelse af temperaturer og varmeflux;
3) Regnskab for strålingsafskærmning kræver flere størrelsesordener mere tid end at beregne strålevarmeoverførsel uden afskærmning.
Bounding Volumes og Hierarki af Bounding Volumes
Anvendelsen af afgrænsningsvolumener (Bounding Volume) er som følger: hver skærm er indesluttet i et afgrænsningsvolumen af en simpel form, hvor skæringen af strålen tager meget kortere tid end skæringen med den originale skærm. Strålen skærer kun skærmen, hvis strålen skærer det afgrænsende volumen. Dermed reduceres antallet af bjælkekryds med skærme væsentligt. Bounding Box og Bounding Sphere bruges almindeligvis som afgrænsningsvolumener. Parallepipedets overflader vælges normalt til at være parallelle med koordinatplanerne; orienterede parallelepipeder er meget mindre almindelige.
Det næste væsentlige skridt i at fremskynde strålesporing er at opbygge et hierarki af afgrænsningsvolumener: For hver gruppe af afgrænsningsvolumener bygges et andet "højere niveau" afgrænsningsvolumen. Den resulterende datastruktur kaldes Bounding Volume Hierarchy (BVH) og lagres som et binært træ.
Alle afgrænsningsvolumener er forudsorteret efter koordinater, så hver enkelt kun omfatter nærliggende objekter.
Der er to hovedtilgange til at konstruere et afgrænsende volumenhierarki: top-down og bottom-up. Når der bygges fra top til bund, opdeles hovedafgrænsningsvolumenet i to dele, der indeholder omtrent det samme antal volumener på det nederste niveau, eller i to dele med samme størrelse, hvorefter proceduren anvendes på hvert resulterende volumen. Stopkriteriet kan være træets højde eller antallet af volumener indeni, hvor opdelingen er uhensigtsmæssig. Når der bygges nedefra og op, flettes nærliggende afgrænsningsvolumener, indtil der dannes et enkelt hovedafgrænsningsvolumen.
Binær opdeling af rummet
Den binære rumopdelingsmetode bruger også afgrænsningsvolumener, der indeholder alle geometriobjekter og en hierarkisk struktur i form af et træ, som kaldes et BSP-træ (BSP - Binary Space Partitioning - binær rumpartitionering).
Metode egenskaber:
1) BSP træ er altid bygget fra top til bund;
2) Det er ikke en gruppe af objekter (afgrænsende volumener), der er opdelt i to dele, men rum;
3) I et BSP-træ kan et afgrænsende volumen tilhøre flere volumener på et højere niveau på samme tid. I et afgrænsende volumenhierarki tilhører hvert volumen kun én volumen på højere niveau.
Accelerationen af strålesporing opnås på grund af metoden til at gå gennem træet og selektivt kontrollere skæringspunktet mellem en stråle med kasser. Der er flere sådanne metoder, men den mest almindelige metode, der bruges til både BSP-træet og det afgrænsende volumenhierarkiet, er følgende algoritme:
1) Strålens skæring med hovedboksen (afgrænsende volumen) er markeret. Hvis der ikke er nogen skæring, så skærer strålen ikke nogen af skærmene.
2) Hvis strålen skærer en boks, så er krydset med den første underordnede boks markeret. Hvis der ikke er nogen skæring, så skal strålen skære sig med en anden børnekasse. Hvis der er et kryds med den første underordnede boks, bestemmes en liste over underordnede kasser for det, og krydset med dem er markeret.
3) Trin 2 gentages, indtil der er fundet et skæringspunkt med en skærm. Hvis der er flere sådanne punkter, bestemmes skæringspunktet tættest på begyndelsen af strålen.
Ensartet og hierarkisk gitter
En anden metode til rumlig opdeling er ray tracing mesh. I denne metode er hele beregningsdomænet indesluttet i et parallelepipedum, som er opdelt langs koordinatakserne i lige store intervaller, der danner et ensartet gitter. For hver gittercelle er der defineret en liste over afgrænsende volumener indeholdt i den. Hvert afgrænsende volumen kan tilhøre flere tilstødende gitterceller. Nogle gitterceller kan være tomme.
Ved at bruge et gitter kan du ikke kontrollere skæringspunktet mellem strålen med alle de afgrænsende volumener. Der er forskellige metoder til strålesporing gennem gitteret, som adskiller sig i måden at finde den næste celle langs strålen, typen af beregninger (heltal eller flydende komma).
Ved strålesporing bestemmes antallet af celler, som strålen passerer igennem, sekventielt:
1) Hvis der ikke er nogen objekter i den aktuelle celle, bestemmes nummeret på den næste celle.
2) Hvis der er objekter i den aktuelle celle, kontrolleres hver af dem for skæring med strålen
3) Hvis strålen skærer et eller flere objekter i den aktuelle celle, så bestemmes skæringspunktet tættest på begyndelsen af strålen og det tilsvarende objekt, og sporingen af denne stråle slutter.
4) Hvis strålen ikke skærer nogen genstand, eller gittercellen er tom, gentages processen i henhold til punkt 1-3.
Hvis skærmbillederne er ujævnt fordelt i beregningsdomænet, kan der, når der bruges et ensartet gitter i nogle af dets celler, være for mange skærmbilleder, som hver vil blive kontrolleret for skæring med en stråle, eller de fleste af cellerne vil være tomme , og strålesporing gennem en lang række tomme celler vil være ubrugeligt spild af tid. I disse tilfælde anvendes hierarkiske gitter. For at bygge et hierarkisk gitter skal du bygge et stort ensartet gitter, derefter vælge de celler, der indeholder det største antal skærmbilleder, og inden for disse celler bygge et ensartet gitter med en mindre cellestørrelse.
Brug af et ikke-ensartet volumenet
En anden metode til rumlig opdeling er et ikke-ensartet volumetrisk net, sædvanligvis sekskantet eller tetraedrisk, som delvist gentager formen af det objekt, der tilnærmes, for eksempel rummet af en ovn med emner. På det seneste er interessen for brugen af et sådant gitter steget meget, men strålesporingsmetoder, der bruger det, er kun lidt udviklet sammenlignet med metoder, der bruger andre datastrukturer.
Cellerne i et sådant gitter indeholder ikke andre genstande indeni, og hver celle er tom (gennemsigtig for stråling), fyldt med gas eller er en del af et fast legeme. Grænserne for faste kroppe er celleflader. Ved hvert trin i strålesporingen bestemmes det, gennem hvilken side af den aktuelle celle strålen forlader. Ansigtets nummer bestemmer nummeret på den næste celle, som strålen passerer igennem. Hvis ansigtet er grænsen til en fast krop (ovnvæg eller emner), stopper strålesporingen.
Fordelene ved at bruge et uensartet volumetrisk mesh som en datastruktur til at fremskynde strålesporing er: god kvalitet af geometritilnærmelse og brugen af simple skæringsalgoritmer: kun skæringspunkter med celleflader - firkanter og trekanter - bruges. Ulemperne ved metoden er: i modsætning til et ensartet gitter, hvis de fleste af skærmene er placeret i en lille mængde geometri, så er de fleste af cellerne gennemskåret af strålen tomme, og behandlingen af disse krydsninger er ineffektiv.
Perspektiver på forskellige strålesporingsmetoder til strålevarmeoverførsel
Hver af de beskrevne strålesporingsmetoder har sine egne fordele og ulemper. Nogle metoder, såsom BSP-træet, er blevet den mest udbredte i computergrafik, så denne metode er den mest udviklede. Brugen af et finit element mesh er endnu ikke blevet tilstrækkeligt undersøgt, og mulighederne for denne metode er højst sandsynligt ikke fuldt ud brugt.
Det menes, at det er umuligt at udpege en af de bedste metoder beskrevet ovenfor for enhver geometri. Imidlertid er ikke alle disse metoder egnede til strålesporing i absorberende og spredningsmedier. Faktum er, at metoderne til binær opdeling af rummet, hierarkiet af afgrænsende volumener, ensartede og hierarkiske masker er fokuseret på at beregne skæringspunkter kun med uigennemsigtige overflader i geometri. Når man sporer stråler i et absorberende medium, er det nødvendigt at bestemme ikke kun overfladen, som strålen kolliderede med, men også alle de gennemsigtige flader af maskemodellen, som strålen passerede igennem - for at beregne længden af strålen, der passerer igennem hver volumetrisk zone af modellen og bestemme andelen af absorberet energi i hver zone. Til denne opgave kan de anførte metoder til at accelerere strålesporing ikke anvendes uden betydelig forfining. I modsætning hertil gør metoden med at bruge et uensartet volumetrisk mesh det nemt at finde hele listen over flader, som strålen har passeret igennem, og dermed bestemme den brøkdel af energi, der absorberes i hver volumetrisk zone med minimalt ekstra arbejde. I denne henseende er brugen af et ikke-ensartet volumetrisk mesh som en datastruktur til at accelerere strålesporing i strålevarmeoverførselsproblemer den mest lovende.
Ordbøger og encyklopædier | |
---|---|
I bibliografiske kataloger |