Kurz erklärt · Retro & DDR-Heimcomputer
Raycasting ist ein Verfahren der Computergrafik, das aus einer flachen Karte eine 3D-Ansicht berechnet: Für jede Bildspalte wird ein Sehstrahl ausgesandt, bis er eine Wand trifft. Je kürzer der Strahl, desto höher wird der Wandstreifen gezeichnet.
Auch: Ray Casting, Ray-Casting, Raycaster, Raycasting-Engine
Was ist Raycasting?
Raycasting – von englisch ray (Strahl) und to cast (werfen) – erzeugt den Eindruck einer dreidimensionalen Welt, ohne echte 3D-Körper zu berechnen. Grundlage ist eine zweidimensionale Karte, ein Raster aus Feldern: Jedes Feld ist entweder freier Raum oder eine Wand. Alle Wände sind gleich hoch und stehen im rechten Winkel zueinander.
Weil dabei sehr wenig gerechnet werden muss, lief Raycasting schon auf langsamen Rechnern flüssig. Anfang der 1990er-Jahre machten Ego-Shooter mit Gängen und Labyrinthen das Verfahren berühmt.
Der Begriff hat noch zwei weitere Bedeutungen: In der Wissenschafts- und Medizingrafik heißt so ein Verfahren, das Volumendaten wie CT-Aufnahmen sichtbar macht. Manchmal bezeichnet er auch eine einfache Form des Raytracings. Bei Spielen ist fast immer das Wand-Verfahren gemeint.
Wie funktioniert Raycasting? Schritt für Schritt
- Für jede senkrechte Bildspalte wird ein Strahl von der Spielfigur aus in die Karte geschickt. Sein Winkel ergibt sich aus der Blickrichtung, dem Sichtfeld – zum Beispiel 60 Grad – und der Lage der Spalte im Bild.
- Der Strahl wandert Feld für Feld durch das Raster. Weil alle Wände rechtwinklig stehen, genügt es, nacheinander die Schnittpunkte mit den waagerechten und senkrechten Gitterlinien zu prüfen.
- Trifft der Strahl ein Wandfeld, berechnet das Programm die Entfernung zur Wand.
- Aus der Entfernung folgt die Höhe des Wandstreifens: Halbe Entfernung bedeutet doppelte Höhe.
- Zum Schluss wählt das Programm Textur oder Helligkeit, etwa dunkler für seitlich getroffene oder weit entfernte Wände.
Die Animation zeigt das mit 16 Strahlen: Links fächern sie in der Draufsicht auf, rechts entsteht im selben Takt das Bild. Spiele nutzen meist einen Strahl pro Bildspalte, bei 320 Spalten also 320 Strahlen für jedes einzelne Bild.
Der Trick gegen den Fischaugeneffekt
Nimmt man die gemessene Strahllänge direkt, wirken gerade Wände gewölbt: Die Strahlen am Bildrand laufen schräg und sind deshalb länger. Darum rechnet man mit dem Abstand senkrecht zur Blickrichtung – Strahllänge mal Kosinus des Winkels zur Bildmitte. Dann steht die Wand wieder gerade.
Welche Grenzen hat Raycasting?
- Alle Wände sind gleich hoch; Treppen oder Räume übereinander gehen nur mit Tricks.
- Die Kamera kann nicht frei nach oben oder unten schauen und nicht kippen.
- Gegenstände und Gegner werden meist als flache Bilder in die Szene gesetzt, die immer zur Kamera zeigen.
- Schräge Wände und runde Formen sind schwierig.
Diese Grenzen machten später Verfahren mit Polygonen nötig. Heute zeichnet die Grafikkarte über Schnittstellen wie WebGL ganze 3D-Modelle aus Dreiecken – im Browser zum Beispiel beim Taktik-Shooter Dreifront, der WebGL 2 braucht.
Unterschied: Raycasting, Raytracing und Polygon-3D
| Verfahren | Was berechnet wird | Typisch für |
|---|---|---|
| Raycasting | ein Strahl je Bildspalte bis zur ersten Wand | frühe 3D-Labyrinthe, Retro-Spiele |
| Raytracing | Strahlen je Bildpunkt, samt Spiegelungen und Schatten | Filme, aufwendige Grafik |
| Polygon-3D | Dreiecke, die die Grafikkarte zeichnet | heutige 3D-Spiele |
Mit Drahtgittergrafik hat Raycasting wenig gemein: Dort werden Kanten echter 3D-Körper berechnet, beim Raycasting nur Abstände in einer flachen Karte. Deshalb nennt man solche Ansichten oft auch Pseudo-3D.
Raycasting auf einem 8-Bit-Rechner
Auch auf einem 8-Bit-Rechner ist das Prinzip machbar, wenn man spart: wenige Bildspalten, vorberechnete Tabellen statt teurer Winkelfunktionen, Ganzzahlen statt Kommazahlen. Der Robotron Z9001 hat dazu noch keine Pixelgrafik – statt Bildpunkten setzt ein Programm dort für jede Spalte passende Grafikzeichen. Die Bildrate bleibt bescheiden, doch die Ich-Perspektive funktioniert.
Raycasting in Spielen auf Player 0o5
Klotz Z9001
Klotz Z9001 verfolgt Strahlen durch ein Klötzchengitter und baut die 3D-Ich-Sicht Spalte für Spalte nur aus Grafikzeichen auf. Am Originaltakt von 2,46 MHz sind das etwa 2 bis 3 Bilder pro Sekunde, mit Turbo doppelt so viele.
Duum Z9001
Duum Z9001 ist von den 3D-Shootern der frühen 90er inspiriert, die Raycasting bekannt gemacht haben. Seine 3D-Ansicht mit Texturen, Türen und Geheimgängen entsteht nur aus Textzeichen; am echten Z9001 sind es je nach Level 9 bis 19 Bilder pro Sekunde im Stand.
Häufige Fragen zu Raycasting
Ist Raycasting echtes 3D?
Nein, eher Pseudo-3D. Die Welt ist eine flache Karte; erst beim Zeichnen entsteht aus den gemessenen Abständen der Eindruck von Tiefe.
Was ist der Unterschied zwischen Raycasting und Raytracing?
Raycasting schickt in Spielen nur einen Strahl pro Bildspalte und stoppt an der ersten Wand. Raytracing verfolgt Strahlen für jeden Bildpunkt und berechnet auch Spiegelungen und Schatten, was viel mehr Rechenzeit kostet.
Warum ist Raycasting so schnell?
Pro Bild werden nur so viele Strahlen berechnet, wie das Bild Spalten hat, und jeder Strahl ergibt genau einen senkrechten Streifen. Das rechtwinklige Raster macht die Suche nach der Wand zusätzlich einfach.
Was ist der Fischaugeneffekt beim Raycasting?
Wer die schräge Strahllänge direkt verwendet, sieht gerade Wände gewölbt. Mit dem Abstand senkrecht zur Blickrichtung, also Strahllänge mal Kosinus des Winkels, wird die Wand wieder gerade.
Verwandte Begriffe
- Genres & SpielartenEgo-ShooterIch-Perspektive, Fadenkreuz, 3D-Welt: Was einen Ego-Shooter ausmacht, wie die Steuerung funktioniert und worin er sich vom Taktik-Shooter unterscheidet.
- Retro & DDR-HeimcomputerDrahtgittergrafik3D nur aus Linien: Wie Drahtgittergrafik funktioniert, was verdeckte Kanten sind und wie ein 8-Bit-Rechner damit Raumschiffe und Planeten zeichnet.
- Retro & DDR-Heimcomputer8-BitWas bedeutet 8-Bit? Bits und Bytes einfach erklärt, warum 255 die größte Zahl ist und was 8-Bit-Grafik und -Sound mit alten Prozessoren zu tun haben.
- Technik & PlattformWebGLWie kommt 3D in den Browser? WebGL lässt die Grafikkarte rechnen – aus Eckpunkten werden Dreiecke, aus Dreiecken Pixel.
- Retro & DDR-HeimcomputerBlockgrafikBilder aus Zeichenfeldern: Was Blockgrafik ist, wie Viertelblöcke funktionieren und wie Spiele am Robotron Z9001 so Figuren und sogar 3D-Welten zeichnen.
- Technik & PlattformBildrate (FPS)30, 60 oder 120? Die Bildrate zählt, wie viele Bilder ein Spiel pro Sekunde zeichnet – und entscheidet, ob es flüssig läuft.

