Raycasting

Raycasting

Raycasting (in englischer Schreibweise meist ray casting) ist ein Begriff aus der Computergrafik. Er bezeichnet Techniken zur schnellen Darstellung (Rendern) einer dreidimensionalen Szene, wird aber inzwischen hauptsächlich im Kontext der Volumenvisualisierung verwendet. Die genaue Definition des Begriffs variiert kontextabhängig.

Inhaltsverzeichnis

Raycasting in der Volumenvisualisierung

Raycasting bezeichnet eine Methode, skalare Funktionen in einem dreidimensionalen Volumen, die in vielen wissenschaftlichen Anwendungen auftreten, zu visualisieren. Im medizinischen Bereich sind Beispiele hierfür: Computertomographie (CT), Magnetresonanztomographie (MRT) oder Positronen-Emissions-Tomographie (PET). Im Bereich der numerischen Simulation, bei einer Finite-Elemente-Methode (FEM) für Computational Fluid Dynamics (CFD), bei der das Strömungsverhalten von Gasen und Flüssigkeiten berechnet wird. Die hier gewonnenen skalaren Daten, zum Beispiel die Dichte oder Temperatur, können mit verschiedenen Verfahren visualisiert werden, hierzu zählt auch das Raycasting. Hierbei unterscheidet man zwischen direkten und indirekten Verfahren. Indirekte Verfahren visualisieren das Volumen mit Hilfe einer polygonalen Zwischenrepräsentation. Marching Cubes zählt zu diesen indirekten Verfahren. Direkte Verfahren visualisieren das Volumen ohne die Erzeugung solcher Zwischendaten. Zu diesen Verfahren zählen Ray Casting und Splatting. Weiter unterscheidet man noch zwischen bildraumorientierten Verfahren (Image-Order) und objektraumorientierten Verfahren (Object-Order).

Raycasting als Verfahren in der Volumenvisualisierung

Grundlegende Idee ist, wie Volumendaten mit Hilfe des Raycasting-Verfahrens visualisiert werden können. Die theoretische Grundlage ist die Volumen-Rendering-Gleichung, eine Zusammensetzung aus Emission und Absorption. Raycasting löst (approximiert) dieses Problem.[1] .

Schädel, visualisiert aus einem Voxeldatensatz unter Verwendung von Raycasting

Raycasting-Verfahren

Raycasting schickt für jedes Pixel des Betrachters (des zu berechnenden Bilds) einen Sehstrahl (Primärstrahlen) durch das Volumen. Der Strahl wird innerhalb des Volumens verfolgt und die Farb- und Opazitätswerte in regelmäßigen Abständen an den Abtast-Punkten auf dem Strahl bestimmt. Es wird ebenfalls die Schattierung an allen Abtastpunkten, für die Farbwerte, berechnet. Der so erhaltene Vektor, für den Sehstrahl, enthält die geordneten Abtast-Werte (Farb-, Opazitätswerte), wobei die Farbwerte dem Quellterm und die Opazitätswerte dem Extinktionskoeffizienten entsprechen. In einem letzten Schritt, dem Compositing, werden dann die Farb- und Opazitätswerte kombiniert und das aus dem Sehstrahl resultierende Pixel in der Bildebene errechnet.

Raycasting als einfaches Raytracing

Raycasting bezeichnet oftmals eine einfache Form des Raytracings, eines bekannten Renderverfahrens.[2] Die dreidimensionale Szene wird entsprechend festgelegter Vorgaben wie Betrachterstandpunkt und Perspektive regelmäßig abgetastet, sodass eine zweidimensionale Abbildung eines Ausschnitts entsteht. Im Gegensatz zu erweiterten Raytracing-Varianten ist das Abtasten eines Strahls mit dem Aufeinandertreffen von Strahl und Objekt beendet, es findet also lediglich eine Verdeckungsberechnung statt. Die an diesem Schnittpunkt festgestellte Farbe bildet den Bildpunktfarbwert. Spiegelungen, Brechungen und Transmissionen des Objekts werden nicht beachtet. Diese Technik ermöglicht eine sehr schnelle Vorschau auf eine Szene.

Gelegentlich wird Raycasting auch synonym zu Raytracing verwendet.[2]

Raycasting bei Computerspielen

Raycasting in Computerspielen: Abtasten einer zweidimensionalen Karte mit regelmäßigen Strahlen

In der Computerspielentwicklung bezeichnet der Begriff Raycasting das auf einer zweidimensionalen Karte basierte Berechnen einer Pseudo-3D-Ansicht[3][4]. Auf Basis der Entfernung zu einem Objekt, den ein „Sichtstrahl“ trifft, wird zum einen die Objektfarbe vertikal zentriert dargestellt und zum anderen der Anteil an Decke oder Boden der entsprechenden Pixel-Spalte berechnet. Im Gegensatz zur normalen Raytracing-Technik wird hier nur eine einzelne Bildzeile abgetastet, um das gesamte Bild zu berechnen; die Verdeckungsberechnung findet also nur in einer Ebene und nicht im Raum statt. Diese Art des Raycasting findet zum Beispiel im Computerspiel Wolfenstein 3D Anwendung.

Entsprechend der oberen Grafik wird die Bildpunktfarbe festgestellt (oberer „Streifen“) und entsprechend der Entfernung wird ein vertikaler Bereich in dieser Farbe gezeichnet. Alle übrigen Bereiche sind Himmel bzw. Decke oder Boden.

Da diese Technik keinem echten 3D entspricht, unterliegt sie diversen Einschränkungen: Es können keine dreidimensionalen Objekte wie Personen und Gegenstände dargestellt werden, Boden und Decke sind immer gleich hoch und Schrägen sind nicht möglich.

Es wurden diverse Umgehungslösungen gefunden, die den Eindruck der Dreidimensionalität herstellen sollen. So werden zweidimensionale Grafiken, so genannte Sprites, für beliebige Objekte verwendet, die skaliert in das berechnete Bild eingefügt werden. Diese wurden bei fortgeschrittenen Spielen wie Duke Nukem 3D winkelabhängig ausgewählt, sodass ein Objekt von vorne anders aussieht als von hinten.

Texturen für Wände, Böden und Himmel wurden eingebaut, die dreidimensionale Strukturen abbilden. Himmel bzw. Decke und Boden wurden für Abschnitte einer Karte abhängig einstellbar gemacht, sodass Treppen, Durchgänge und ähnliches möglich wurden (so etwa in Doom). Bei Duke Nukem 3D wurden schließlich sogar schräge Böden bzw. Himmel bzw. Decken ermöglicht und eine vertikale Rotation des Sichtpunkts, sodass man nach oben oder unten schauen konnte. Allerdings verzerrt sich die Darstellung damit stark und unnatürlich. Auch bei den besten Erweiterungen sind keine übereinander liegenden dreidimensionalen Objekte wie Brücken möglich. Darstellungen derselben sind immer mit Hilfe von Sprites oder anderen Tricks „gefälscht“.

Populär wurde das Raycasting durch die frühen Ego-Shooter Catacomb, Wolfenstein 3D, Doom und Duke Nukem 3D, da es erheblich weniger Berechnungszeit benötigt als echtes 3D.

Verwandt mit dem Raycasting ist der mit dem Spiel Comanche eingeführte VoxelSpace-Algorithmus zur Visualisierung von Höhenfeldern. Darauf basierende Grafik-Engines werden oft schlicht als Voxel-Engines bezeichnet, obwohl keine Voxel visualisiert werden.

Weblinks

Quellen

  1. Alan Watt, Mark Watt: Advanced Animation and Rendering Techniques Theory and Practice,S. 305-312. Addison-Wesley, Reading 1992, ISBN 0-201-54412-1
  2. a b James Foley u. a.: Computer Graphics: Principles and Practice, S. 701. Addison-Wesley, Reading 1995, ISBN 0-201-84840-6
  3. Stefan Becker: „Virtuelle Welten mit der Raycasting-Technik darstellen“, c’t 2/1996, S. 246, ISSN 0724-8679
  4. Boris Bertelsons u. a.: PC Underground. Data Becker, Düsseldorf 1995, ISBN 3-8158-1185-6

Wikimedia Foundation.

Игры ⚽ Поможем написать курсовую

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Raycasting — Capture d’écran de Freedoom : reproduction libre de Doom utilisant également le raycasting Le raycasting est une technique de calcul d images de synthèse 3D, facilement accélérée matériellement par une carte graphique dédiée. L accélération… …   Wikipédia en Français

  • Raycasting Game Maker — Значимость предмета статьи поставлена под сомнение. Пожалуйста, покажите в статье значимость её предмета, добавив в неё доказательства значимости по частным критериям значимости или, в случае если частные критерии значимости для… …   Википедия

  • Ray Casting — Raycasting (in englischer Schreibweise meist ray casting) ist ein Begriff aus der Computergrafik. Er bezeichnet Techniken zur schnellen Darstellung (Rendern) einer dreidimensionalen Szene, wird aber inzwischen hauptsächlich im Kontext der… …   Deutsch Wikipedia

  • Ray casting — Raycasting (in englischer Schreibweise meist ray casting) ist ein Begriff aus der Computergrafik. Er bezeichnet Techniken zur schnellen Darstellung (Rendern) einer dreidimensionalen Szene, wird aber inzwischen hauptsächlich im Kontext der… …   Deutsch Wikipedia

  • Wii Opera SDK — Infobox Company company name = Wii Opera SDK company company type = Private company slogan = Make Games for the Internet Channel foundation = 2007 industry = Video Games (Open Source) key people =Daniel Gump: Founder Programmer homepage =… …   Wikipedia

  • Ray casting — is the use of ray surface intersection tests to solve a variety of problems in computer graphics. The term was first used in computer graphics in a 1982 paper by Scott Roth to describe a method for rendering CSG models. [Citation last1 = Roth |… …   Wikipedia

  • Computertomographie — 16 Zeilen Multidetektor CT Bedienkonsole eines 16 Zeilen Multidetektor CT …   Deutsch Wikipedia

  • Volumengrafik — Bildliche Veranschaulichung eines Voxelgitters. Jedes Voxel gibt die Lichtdurchlässigkeit an einem Punkt des Objekts an. Schwarz steht für transparent, weiß für opak (lichtundurchlässig). Die Volumengrafik ist ein Fachgebiet der 3D Computergrafik …   Deutsch Wikipedia

  • — Ray casting, рейкастинг, Метод «бросания лучей» (англ. ray casting русск. бросание лучей) один из методов рендеринга в компьютерной графике, при котором сцена строится на основе замеров пересечения лучей с визуализируемой поверхностью. Этот… …   Википедия

  • Ray casting — Изображение черепа, полученное при помощи объёмного рейкастинга (Volume ray casting) …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”