Raycasting

Raycasting (for det meste ray casting på engelsk ) er et udtryk fra computergrafik . Den beskriver teknikker til hurtig gengivelse ( gengivelse ) af en tredimensionel scene , men bruges nu hovedsageligt i forbindelse med volumenvisualisering . Den nøjagtige definition af udtrykket varierer afhængigt af konteksten.

Raycasting i volume visualisering

Raycasting er en metode til visualisering af skalarfunktioner i et tredimensionelt volumen, der forekommer i mange videnskabelige anvendelser . På det medicinske område er eksempler: Computertomografi (CT), magnetisk resonans -tomografi (MRT) eller positronemissionstomografi (PET); inden for numerisk simulering med en endelig elementmetode (FEM) til Computational Fluid Dynamics (CFD), hvor gassers og væskers strømningsadfærd beregnes. De skalardata, der opnås her, f.eks. Densitet eller temperatur , kan visualiseres ved hjælp af forskellige metoder, herunder raycasting. Der skelnes mellem direkte og indirekte processer. Indirekte metoder visualiserer volumen ved hjælp af en polygonal mellemrepræsentation. Marchering af terninger er en af ​​disse indirekte metoder. Direkte metoder visualiserer volumen uden at generere sådanne mellemliggende data. Disse teknikker omfatter raycasting og splatting . Der skelnes yderligere mellem billedrumsorienterede metoder (billedrækkefølge) og objektrumsorienterede metoder (objektrækkefølge).

Raycasting som en proces i volumenvisualisering

Grundtanken er, hvordan volumendata kan visualiseres ved hjælp af raycasting. Det teoretiske grundlag er volumengivelsesligningen, en kombination af emission og absorption . Raycasting løser ( nærmer sig ) dette problem.

Skull visualiseret fra et voxel -datasæt ved hjælp af raycasting

Raycasting -proces

Raycasting sender en visuel stråle (primærstråler) gennem lydstyrken for hver pixel af seeren (af billedet, der skal beregnes). Strålen spores inden for volumenet, og farve- og opacitetværdierne bestemmes med jævne mellemrum ved prøvepunkterne på strålen. Den skygge for farveværdier på alle prøveudtagningssteder beregnes ligeledes. Den således opnåede vektor for sigtelinjen indeholder de ordnede prøveudtagningsværdier (farve, uigennemsigtighedsværdier), farveværdierne, der svarer til kildetermet, og opacitetsværdierne, der svarer til ekstinktionskoefficienten. I et sidste trin kombineres sammensætningen , farve- og opacitetsværdierne, og den pixel, der er resultatet af sigtelinjen, beregnes i billedplanet.

Raycasting som simpel strålesporing

Raycasting refererer ofte til en simpel form for raytracing , en velkendt gengivelsesproces. Den tredimensionelle scene scannes regelmæssigt i overensstemmelse med specificerede specifikationer såsom observatørens synspunkt og perspektiv, således at der dannes et todimensionalt billede af et snit. I modsætning til udvidede strålesporingsvarianter slutter scanningen af ​​en stråle, når strålen og objektet mødes, så kun en okklusionsberegning finder sted. Farven bestemt ved dette skæringspunkt danner pixelfarveværdien. Refleksioner, brydninger og transmissioner af objektet tages ikke i betragtning. Denne teknik muliggør en meget hurtig forhåndsvisning af en scene.

Indimellem bruges raycasting også synonymt med raytracing.

Raycasting i computerspil

Raycasting i computerspil: scanning af et todimensionalt kort med almindelige stråler

I computerspiludvikling refererer udtrykket raycasting til beregning af en pseudo-3D-visning baseret på et todimensionalt kort. På grundlag af afstanden til et objekt, der er ramt af en "synsstråle", vises objektets farve på den ene side centreret lodret, og på den anden side beregnes andelen af ​​loftet eller gulvet i den tilsvarende pixelsøjle. I modsætning til normal strålesporingsteknologi scannes kun en enkelt linje af billedet for at beregne hele billedet; den beregning okklusion sker kun i ét plan og ikke i rummet. Denne type raycasting bruges f.eks. I Wolfenstein 3D -computerspil .

Pixelfarven bestemmes i henhold til grafikken ovenfor (øverste "stribe"), og et lodret område tegnes i denne farve i henhold til afstanden. Alle andre områder er himmel eller loft eller gulv.

Da denne teknologi ikke svarer til en ægte 3D, er den underlagt forskellige begrænsninger: Ingen tredimensionelle genstande som mennesker og genstande kan vises, gulv og loft er altid i samme højde, og skråninger er ikke mulige.

Der er fundet forskellige løsninger, der har til formål at skabe indtryk af tredimensionalitet. To-dimensionel grafik, såkaldte sprites , bruges til alle objekter, der skaleres og indsættes i det beregnede billede. I avancerede spil som Duke Nukem 3D blev disse valgt afhængigt af vinklen, så et objekt ser anderledes ud forfra end bagfra.

Der blev bygget teksturer til vægge, gulve og himmel, der skildrer tredimensionelle strukturer. Himmel eller loft og gulv blev gjort uafhængigt justerbare til sektioner af et kort, så trapper, passager og lignende var mulige (f.eks. I Doom ). Med Duke Nukem 3D blev skrå gulve, ovenlysvinduer eller lofter endelig muliggjort, og udsigtspunktet kunne drejes lodret, så man kunne se op eller ned. Displayet er imidlertid stærkt og unaturligt forvrænget. Selv med de bedste udvidelser er ingen overlejrede tredimensionelle objekter såsom broer mulig. Repræsentationer af det samme "fejkes" altid ved hjælp af sprites eller andre tricks.

Raycasting blev populær blandt de første first-person shooters Catacomb , Wolfenstein 3D, Doom, Heretic og Duke Nukem 3D, da det kræver betydeligt mindre beregningstid end ægte 3D.

Relateret til raycasting er VoxelSpace algoritme indført med spillet Comanche til visualisering af højden felter . Grafikmotorer baseret på dette kaldes ofte simpelthen voxelmotorer , selvom ingen voxels visualiseres.

Weblinks

Wikibooks: spilverdener med raycasting  - lærings- og undervisningsmateriale

Individuelle beviser

  1. ^ Alan Watt, Mark Watt: Avanceret animation og gengivelsesteknikker Teori og praksis. Addison-Wesley, Reading 1992, ISBN 0-201-54412-1 , s. 305-312.
  2. a b James Foley et al: Computergrafik: Principper og praksis. Addison-Wesley, Reading 1995, ISBN 0-201-84840-6 , s. 701.
  3. Stefan Becker: Repræsenterer virtuelle verdener med raycasting -teknologi. I: c't 2/1996, ISSN  0724-8679 , s. 246.
  4. Boris Bert Elson inkluderer: PC Underground. Data Becker, Düsseldorf 1995, ISBN 3-8158-1185-6 .