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.)
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
Schritt 2: Primäre Reflektionen (grün markiert), nur die spiegelnden Flächen reflektieren
Schritt 3: Sekundäre Reflektionen (blau markiert), reflektierte Strahlen werden nur von den blauen Flächen erneut reflektiert
Schritt 4: Tertiäre Reflektionen (gelb markiert), nur auf den gelben Flächen treffen bereits zweimal reflektierte Strahlen erneut auf und werden reflektiert
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.





