Raycasting

Raycasting (většinou ray casting v angličtině ) je termín z počítačové grafiky . Popisuje techniky pro rychlé zobrazení ( rendering ) ze trojrozměrné scény , ale je nyní používán zejména v souvislosti ze svazku vizualizace . Přesná definice pojmu se liší v závislosti na kontextu.

Raycasting v objemové vizualizaci

Raycasting je metoda vizualizace skalárních funkcí v trojrozměrném svazku, které se vyskytují v mnoha vědeckých aplikacích . V lékařské oblasti jsou to například: počítačová tomografie (CT), magnetická rezonanční tomografie (MRT) nebo pozitronová emisní tomografie (PET); v oblasti numerické simulace metodou konečných prvků (FEM) pro výpočetní dynamiku tekutin (CFD), ve které se vypočítává tokové chování plynů a kapalin. Zde získaná skalární data, například hustota nebo teplota , mohou být vizualizována pomocí různých metod, včetně raycastingu. Rozlišuje se mezi přímými a nepřímými procesy. Nepřímé metody vizualizují objem pomocí polygonální mezilehlé reprezentace. Pochodování kostek je jednou z těchto nepřímých metod. Přímé metody vizualizují objem bez generování takových mezilehlých dat. Mezi tyto techniky patří raycasting a stříkání . Dále se rozlišují metody orientované na obrazový prostor (pořadí obrázků) a objektově orientované metody (pořadí objektů).

Raycasting jako proces v objemové vizualizaci

Základní myšlenkou je, jak lze objemová data vizualizovat pomocí raycastingu. Teoretickým základem je rovnice vykreslování objemu, kombinace emise a absorpce . Raycasting řeší ( přibližuje ) k tomuto problému.

Image
Lebka vizualizovaná z datové sady voxel pomocí raycastingu

Raycastingový proces

Raycasting odesílá vizuální paprsek (primární paprsky) objemem pro každý pixel diváka (obrazu, který se má vypočítat). Paprsek je sledován v rámci objemu a hodnoty barvy a neprůhlednosti jsou stanovovány v pravidelných intervalech v místech vzorkování paprsku. Stínování se počítá i pro barevné hodnoty u všech míst odběru vzorků. Takto získaný vektor pro přímku obsahuje uspořádané vzorkovací hodnoty (barvy, hodnoty opacity), barevné hodnoty odpovídající zdrojovému výrazu a hodnoty opacity odpovídající koeficientu zániku. V posledním kroku se zkombinují hodnoty kompozice , barvy a krytí a v obrazové rovině se vypočítá pixel vyplývající z přímky.

Raycasting jako jednoduché sledování paprsku

Raycasting často odkazuje na jednoduchou formu raytracingu , známý proces vykreslování. Trojrozměrná scéna je pravidelně skenována v souladu se specifikovanými specifikacemi, jako je úhel pohledu a perspektiva pozorovatele, takže je vytvořen dvourozměrný obraz řezu. Na rozdíl od rozšířených variant sledování paprsků skenování paprsku končí, když se paprsek a objekt setkají, takže dochází pouze k výpočtu okluze . Barva určená v této křižovatce tvoří hodnotu barvy pixelu. Odrazy, lomy a přenosy objektu nejsou brány v úvahu. Tato technika umožňuje velmi rychlý náhled scény.

Příležitostně se raycasting používá také synonymně s raytracingem.

Raycasting v počítačových hrách

Image
Raycasting v počítačových hrách: skenování dvourozměrné mapy pravidelnými paprsky

Ve vývoji počítačových her se termínem raycasting označuje výpočet pseudo-3D pohledu na základě dvojrozměrné mapy. Na základě vzdálenosti k objektu zasaženému "paprskem vidění" se na jedné straně barva objektu zobrazí vertikálně středově a na druhé straně se vypočítá podíl stropu nebo podlahy příslušného pixelového sloupce. Na rozdíl od běžné technologie sledování paprsků je pro výpočet celého obrazu naskenován pouze jeden řádek obrazu; výpočet occlusion probíhá pouze v jedné rovině, a ne v prostoru. Tento typ raycastingu se používá například v počítačové hře Wolfenstein 3D .

Image
Barva pixelu je určena podle výše uvedené grafiky (horní „pruh“) a v této barvě je nakreslena svislá oblast podle vzdálenosti. Všechny ostatní oblasti jsou nebe, strop nebo podlaha.

Protože tato technologie neodpovídá skutečnému 3D, podléhá různým omezením: Nelze zobrazit žádné trojrozměrné objekty, jako jsou lidé a objekty, podlaha a strop mají vždy stejnou výšku a svahy nejsou možné.

Byla nalezena různá řešení, která mají vytvořit dojem trojrozměrnosti. Pro libovolné objekty, které jsou zmenšeny a vloženy do vypočítaného obrázku, se používá dvojrozměrná grafika, takzvané sprity . V pokročilých hrách, jako je Duke Nukem 3D, byly tyto vybrány v závislosti na úhlu, takže předmět vypadá zepředu jinak než zezadu.

Byly postaveny textury pro stěny, podlahy a oblohu, které zobrazují trojrozměrné struktury. Obloha nebo strop a podlaha byly nezávisle nastavitelné pro části mapy, takže byly možné schody, průchody a podobně (například v Doom ). S Duke Nukem 3D byly konečně umožněny šikmé podlahy, světlíky nebo stropy a hledisko bylo možné otáčet svisle, aby bylo možné dívat se nahoru nebo dolů. Displej je ale silně a nepřirozeně zkreslený. I přes nejlepší rozšíření nejsou možné žádné superponované trojrozměrné objekty, jako jsou mosty. Jejich zastoupení je vždy „předstíráno“ pomocí skřítků nebo jiných triků.

Raycasting se stal oblíbeným u raných first-person stříleček Catacomb , Wolfenstein 3D, Doom, Heretic a Duke Nukem 3D, protože vyžaduje podstatně kratší dobu výpočtu než skutečné 3D.

S raycastingem souvisí algoritmus VoxelSpace představený ve hře Comanche pro vizualizaci výškových polí . Grafické motory založené na tomto jsou často jednoduše označovány jako voxelové motory, ačkoli žádné voxely nejsou vizualizovány.

webové odkazy

Wikibooks: herní světy s raycastingem  - učební a učební materiály

Individuální důkazy

  1. ^ Alan Watt, Mark Watt: Advanced Animation and Rendering Techniques Theory and Practice. Addison-Wesley, Reading 1992, ISBN 0-201-54412-1 , s. 305-312.
  2. a b James Foley a kol: Počítačová grafika: zásady a praxe. Addison-Wesley, Reading 1995, ISBN 0-201-84840-6 , s. 701.
  3. Stefan Becker: Reprezentace virtuálních světů pomocí technologie raycastingu. In: c't 2/1996, ISSN  0724-8679 , p. 246.
  4. Boris Bert Elson obsahuje: PC Underground. Data Becker, Düsseldorf 1995, ISBN 3-8158-1185-6 .