Raytracing/Allgemein

Raytracing, ein freistehender Teil des Render-Prozesses, zählt zu den globalen Beleuchtungsmethoden und beschäftigt sich mit der Frage, woher Lichtstrahlen kommen. Dieser Render-Prozess kann derzeit nicht durch die Grafikhardware berechnet werden. Echtzeitgrafiken können folglich keine Raytracingberechnungen durchführen. Wichtig für 3d-Gestalter ist die Tatsache, dass die Objekte in einem 3d-Fenster in der 3d-Software ohne Raytracing dargestellt werden. Im Gegensatz zu Raycasting zählt Raytracing zu den globalen Beleuchtungsverfahren und berücksichtigt nicht nur das eintreffende Licht von den Lichtquellen, sondern auch die indirekt einfallenden Lichtanteile. Dabei läuft der Vorgang des Raytracing im Vergleich zur Natur "rückwärts" ab. Beim Raytracing beginnt das Nachverfolgen "Trace" der Lichtstrahlen "Ray" bei der Kamera. Diese Methode wird auch Backwards Raytracing bzw. rekursive Strahlenverfolgung genannt. Raytracing kann Raytracing-Reflexionen (Spiegelungen und diffuse Abstrahlung), Raytracing-Refraktionen (Lichtbrechungen) und Raytracing-Schatten berechnen.

Raytracing kann Reflexionen (Spiegelungen und diffuse Abstrahlung), Refraktionen (Lichtbrechungen) und Schatten berechnen.

Raytracing Schatten, Raytracing-Reflexionen und Raytracing-Refractionen im Vergleich.

Mehr Informationen zu Raytracing-Schatten

Mehr Informationen zu Raytracing-Reflexionen

Mehr Informationen zu Raytracing-Refraktionen

Ray-Tracing-Prinzip

Zu Beginn des Raytracing - Prozesses wird das Blickfeld der Kamera in ein Feld von zu berechnenden Bildpunkten umgewandelt. Raytracing verfolgt nun für jedes zu rasternde Pixel den Lichtstrahl und ermittelt den ersten Schnittpunkt mit dem Objekt. Dieser wird auch Primärstrahl genannt. Von diesem Punkt aus werden weitere Strahlen ausgesendet, die nach einfallenden Lichtstrahlen suchen. In dieser Phase wird geprüft, ob das Objekt mit reflektierenden oder lichtbrechenden Eigenschaften ausgestattet ist oder ob Schatten vorkommen. Diese Strahlen, auch Sekundärstrahlen genannt, werden je nach Materialeigenschaft nach dem Reflexionsgesetz bzw. dem Brechungsgesetz berechnet. Diese Sekundärstrahlen treffen gegebenenfalls neue Objektpunkte, an denen gleich verfahren wird.

Die Abbildung zeigt das Prinzip des Raytracing an einer kleinen Beispiel-Szene:
Der Strahl trifft zuerst auf ein semitransparentes Objekt auf. Dieses Objekt lässt einen Transmissionsanteil T und einen Reflexionsanteil r zu. Der Transmissionsanteil wird durch das Objekt hindurch weiter verfolgt und trifft wiederum auf ein opakes (rotes) Objekt. Der reflektierte Anteil versucht ebenfalls Licht aufzusammeln und trifft zuerst auf ein blaues und dann auf ein grünes opakes Objekt. Dort wo ein Strahl auf eine Objektoberfläche trifft, wird zur Lichtquelle zurückgerechnet. Diese Strahlen werden auch Schattenfühler genannt. Erreichen diese die Lichtquelle nicht, liegt der betreffende Objektpunkt im Schatten eines blockierenden Objektes. Die Rückverfolgung kann nicht endlos berechnet werden. Wie oft ein Strahl zurückverfolgt wird, wird durch die Raytracingtiefe angegeben. Die Anzahl der Lichtstrahlen und somit die Renderzeit ist nicht nur von der Raytracingtiefe sondern auch von der Auflösung des Bildes und von der Anti-Aliasing Einstellung abhängig.

Raytracingtiefe

Die rekursive Strahlenverfolgung kann nicht endlos durchgeführt werden. Üblicherweise wird die Weiterverfolgung durch einen Maximalwert begrenzt. Diese vorgegebene Rekursionstiefe oder Raytracingtiefe hat erheblichen Einfluss auf die Renderzeit und kann in den meisten Renderern separat für Reflexion, Refraction und Raytraceschatten eingestellt werden. Wenn ein Strahl die maximale Tiefe erreicht, wird er in derselben Farbe wie der Hintergrund gerendert. Diese Farbe kann meist auch separat eingestellt werden.

(a) Raytracingeinstellungen im Scanline Renderer bei 3dsmax
(b) Raytracingeinstellungen in den Materialeinstellungen bei Maya
(c) Raytracingeinstellungen im Renderer von Mental Ray - Die Raytracingtiefe kann für Refraction, Reflexion und Raytrace-Schatten separat eingestellt werden.

Module, die für die Durchführung vorausgesetzt werden

Ergänzende und vertiefende Module