Registrieren Passwort vergessen?
11. März 2008

Bericht: Raytracing in Spielen 2.0 (3/8)

Fortschritte im Reich der Strahlen
Autor: Daniel Pohl

Beispiel 2

Das zweite Beispiel ist eine Fallstudie mit mehreren Reflektionen in Reflektionen auf Kugeln und Tori. (Ein Torus ist der mathematische Begriff für ein geometrischens Objekt in der Form eines Donuts. Der Plural von Torus ist Tori.)

Spiegelungen in Quake 4
Mehrfachspiegelungen in Spiegelungen.

Wenn man für einen Moment die Tatsache ignoriert, dass es generell unmöglich wäre, solch' eine Szene mittels Rasterisierung zu rendern, so stellt man fest, dass es auf einem anderen Weg (Raytracing) nicht nur möglich, sondern auch mit wesentlich weniger Rechenaufwand verbunden ist, als man zuerst angenommen hat! Denn Raytracing berechnet alle Reflektionen effizient und korrekt - aber eben nur, wenn sie wirklich benötigt werden, also sichtbar sind. In der folgenden Sequenz wird der Ablauf zum Erstellen des Bildes dargestellt und es wird veranschaulicht, wieviele Strahlen benutzt werden:

Schritt 1: Primärstrahlen – mindestens einer pro Pixel (rot markiert), alles auf dem Bildausschnitt ist sichtbar

Spiegelungen in Quake 4 – 1. Ebene

Schritt 2: Primäre Reflektionen (grün markiert), nur die spiegelnden Flächen reflektieren

Spiegelungen in Quake 4 – 2. Ebene

Schritt 3: Sekundäre Reflektionen (blau markiert), reflektierte Strahlen werden nur von den blauen Flächen erneut reflektiert

Spiegelungen in Quake 4 – 3. Ebene

Schritt 4: Tertiäre Reflektionen (gelb markiert), nur auf den gelben Flächen treffen bereits zweimal reflektierte Strahlen erneut auf und werden reflektiert

Spiegelungen in Quake 4 – 4. Ebene

Schritt 5: usw. usf. ...

Wie man eindeutig sieht, verringert sich die Anzahl an zusätzlichen Strahlen drastisch mit jedem weiteren Schritt. Daher kann selbst eine so komplexe Szene mit vielen Spiegelungen in Spiegelungen mit nur einem geringen zusätzlichen Kostenaufwand mittels Raytracing berechnet werden.

In Kooperation mit Lycos Europe Network