Raytracing in Spielen IV: Ray-Tracing in der Cloud

 2/8
Daniel Pohl
91 Kommentare

Übersicht Ray Tracing

Ray-Tracing ist ein Algorithmus zum Rendern, der die Lichtstrahlen wie in der Natur simuliert – jedoch mit einem kleinen Unterschied. In der Natur kommen die Strahlen von einer Lichtquelle (z.B. der Sonne) und treffen gegebenfalls das menschliche Auge. Beim Ray-Tracing-Algorithmus geht man den umgekehrten Weg: man verfolgt die Wege der Strahlen vom Auge (einer virtuellen Kamera) aus in die Szene hinein. Es werden die Auftreffpunkte berechnet, an denen der Strahl geometrische Objekte trifft. Danach wird ein Shaderprogramm für die getroffene Oberfläche aufgerufen.

Ray-Tracing: Überblick
Ray-Tracing: Überblick

Durch diesen Vorgang werden Materialeigenschaften wie Reflexionsgrad und Transparenz ausgewertet. Farben aus Texturen können hinzugefügt werden. Von hier aus können auch sekundäre Strahlen zum Berechnen der Beleuchtung, Spiegelung und Brechung losgeschickt werden. Mehr Details verraten die bisher in dieser Reihe auf ComputerBase erschienen Artikel (Links im Vorwort).

Ray-Tracing wird bereits heute massiv im professionellen Grafikmarkt benutzt. Es wird dort meistens für offline (also nicht interaktive) Aufgaben eingesetzt, bei denen man viel Zeit zur Berechnung eines einzelnes Bildes benötigt. Um wenigstens etwas Interaktivität zu ermöglichen gibt es oft Vorschau-Versionen des fertigen Bildes, das dann über die Zeit verfeinert wird. In einigen Fällen werden auch große Rechner-Cluster eingesetzt, um der Interaktivität bei hoher Qualität näher zu kommen.

Die Autoindustrie ist ein Paradebeispiel für die Verwendung von Ray-Tracing im professionellen Bereich. Bevor man ein Auto letztendlich baut, ist es wertvoll, wenn man es schon zuvor in photorealistischer Qualität begutachten kann. Durch diesen Vorgang kann der Hersteller das Auto mit all den gewünschten Eigenschaften akkurat modellieren und hat die Möglichkeit bereits früh im Design mögliche Probleme zu erkennen. So könnte beispielsweise ein bestimmtes Objekt oder eine gewisse Form am Auto Spiegelungen erzeugen, die den Fahrer ablenken könnten.

Zur Modellierung von Objekten wie eines Frontscheinwerfers benötigt man komplexe Berechnungen der globalen Beleuchtung, bei der viele Strahlen innerhalb des Objekts hin- und herspringen können. Ray-Tracing hat sich als beste Lösung für das Erzeugen solcher photorealistischer Bilder beweisen können.

Offline berechneter Frontscheinwerfer eines Autos
Offline berechneter Frontscheinwerfer eines Autos

Eine andere Anwendung von Ray-Tracing ist der Bereich der medizinischen Visualisierung. Scanner von Geräten der Computertomographie (CT) und Magnetresonanztomographie (MRT) erzeugen 3D-Daten eines Objekts wie dem menschlichen Gehirn oder eines Schädels. Diese volumetrischen Daten müssen auf dem Computerbildschirm angezeigt werden. Dazu gibt es verschiedene Methoden, wobei Ray-Tracing die Genaueste davon ist.

Volumetrische Daten eines Schädels visualisiert mit Strahlen
Volumetrische Daten eines Schädels visualisiert mit Strahlen (Bild: en.wikipedia.org)

Wenn ein computergenerierter Film detaillierte Spiegelungen enthält, so ist die Wahrscheinlichkeit hoch, dass auch dieser Effekt über Ray-Tracing realisiert wurde. Kein anderer Algorithmus kann für solche Zwecke derart akkurate und stabile Ergebnisse liefern.

Bild des Films „MegaMind” zeigt detaillierte Spiegelungen der Umgebung
Bild des Films „MegaMind” zeigt detaillierte Spiegelungen der Umgebung
25 Jahre ComputerBase!
Im Podcast erinnern sich Frank, Steffen und Jan daran, wie im Jahr 1999 alles begann.