Raytracing ist eine Methode zur computergestützten Erzeugung von photorealistischen Bildern. Dabei werden dreidimensionale Objekte durch mathematische Verfahren dargestellt (Vektorgleichungen, triangle mesh oder ähnliches), mit Oberflächentexturen und -strukturen versehen, optische Eigenschaften definiert, Lichtquellen gesetzt. Anschließend werden durch jedes Bildschirmpixel »Sehstrahlen« geschickt, sozusagen Lichtstrahlen rückwärts, wobei getestet wird, ob sie irgendwann auf eine Lichtquelle treffen.
Sobald ein Sehstrahl auf eine Lichtquelle stößt, wird der Strahl zurückverfolgt: Welche Farbe und Helligkeit hat das Licht ursprünglich? Läßst die Helligkeit des Strahls nach, wenn er sich von der Lichtquelle entfernt oder nicht, und wenn ja, wie stark? Bei jeder Reflexion an einem Objekt und bei jedem Durchgang durch ein durchsichtiges Objekt (mit Brechung des Lichtstrahls, natürlich): Wie ändern sich Farbe und Helligkeit des Strahls?
Wenn der Lichtstrahl schließlich wieder beim Bildschirmpixel ankommt, wird dieses in der entsprechenden Farbe eingefärbt.
Manche Effekte lassen sich mit dieser primitiven Strahlenoptik schlecht simulieren, z.B. indirektes Licht, Glanzlichter, Nebel etc. Dafür gibt es andere Algorithmen, z.B. Radiosity für indirektes Licht oder Phong Shading für Glanzlichter.
Außerdem ist Raytracing für schnelle Berechnungen, etwa 3-D-Spiele, ungeeignet, da es zu rechenintensiv ist. Hier behilft man sich dann mit einfachen Shading-Algorithmen, die einfach nur näherungsweise Licht und Schatten berechnen.
Der Oberbegriff für all diese Verfahren lautet Rendering.
|