Der Scanline-Renderer führt einen Strahl von der Kamera durch jedes Pixel der gerenderten Bilder. Wenn der Strahl eine Mesh-Fläche kreuzt, wird die Farbe des Pixels entsprechend den Lichtquellen, ihrem Winkel zum Normal der Fläche, dem Winkel der Kamera zu dieser Fläche und einigen anderen Informationen berechnet. Wenn keine Fläche angetroffen wird, erhält das Pixel die Farbe des Hintergrunds. Auf diese Weise tastet der Renderer alle Pixel Zeile für Zeile ab. Reflexionen werden vorgetäuscht – der Renderer erstellt Maps, die die Umgebung so zeigen, wie sie von dem reflektierenden Objekt aus gesehen wird und legt die Map als eine Art „Texturmap“ auf die Oberfläche. Wenn ein Objekt transparent ist, geht der Strahl unter Berücksichtigung eines Teils der Farbe durch und sucht nach einer nicht transparenten Fläche dahinter.
Der Raytracer hält nicht an, nachdem er eine Fläche erreicht hat, sondern folgt, wenn die Fläche eine Spiegelfläche hat, dem Strahl, nachdem er von der Fläche reflektiert wurde, um zu sehen, welche Geometrie von der Fläche reflektiert wird. Nach einer bestimmten Anzahl von Reflexionen wird die Verfolgung angehalten (je höher der Wert, desto länger die Verfolgung des Strahls). Wenn das angetroffene Objekt transparentes Material hat, wird der Strahl gebrochen (er ändert geringfügig die Richtung) gemäß einem festgelegten Brechungsindex (IOR = c/v, c=Lichtgeschwindigkeit im Vakuum, v=Lichtgeschwindigkeit in dem jeweiligen Material).
Welche Option ist die Bessere?
Keine.
- Der Scanline-Renderer ist viel schneller, hat aber nicht die Reflection-/Refractioneigenschaften eines Raytracers.
- Der Raytracer ist sehr langsam, bietet aber eine bessere Qualität für Metall-, Glas- und Wassermaterialien.
- Scanline Rendering ist besser für Animationen, Raytracing Rendering hingegen besser für Standbilder.
Einige Renderer wie z.B. RayMAX kombinieren beides, um sowohl Geschwindigkeit als auch Qualität in einer Engine zu bieten. Sie wählen aus, welche Objekte raytraced werden sollen und wenn der Strahl auf ein solches Objekt trifft, wird es entsprechend getraced, aber für alle anderen Objekte wird der normale Weg der Berechnung verwendet.
Vielen Dank für Ihren Besuch.