Raytracer wird das Programm genannt das aus einer ihm übergebenen 3D Szene ein 2D Ausgabebild berechnet. Der Vorgang wird Raytracing oder Rendering genannt. Wobei Raytracing (dt. Strahlenverfolgung) die bessere Umschreibung ist. Allgemein wird beim Raytracing für jeden pixel des späteren Augabebildes ein Strahl aus einer simulierten Kamera in die 3D Szene geschickt und geprüft, ob beim Auftreffen auf ein 3D Objekt im Austrittswinkel eine Lichtquelle steht. Ist dies der Fall wird die Farbe des entsprechenden Bildpixel des Ausgabebildes ensprechend der Lichquellenfarbe und der Materialfarbe des getroffenen Objekts berechnet. Trifft der Strahl auf keine Lichquelle handelt es sich für den Raytracer um Schatten und der Pixel wird einfach schwarz.
Im Gegensatz zu einer realen Kamera wird also beim Raytracing kein Licht aufgefangen sondern der Strahl, der aus der virtuellen Kamera kommt, bis zu einer Lichquellen rückwärts verfolgt, deshalb spricht man beim Raytracing auch oft von einer Strahlenrückverfolgung.
Raytracing ist nur eine von mehreren Möglichkeiten ein Bild aus einer Virtuellen 3D Szene zu berechnen. Das Raytracingverfahren weißt einen entschiedenden Nachteil zu anderen Verfahren auf denn ein Raytracer kann nur direktes Lichtberechnen aber kein Diffuses Licht d.h. der Pixel hat endweder eine Farbe oder ist Schwarz. In der Natur breitet sich Licht jedoch Diffus aus d.h. ein Lichstrahl wird von Oberflächen reflektiert und beleuchtet so auch die Umgebung.
Ein Beispiel:
Ein Raum mit einem Fenster, durch das die Sonne scheint, wird beleuchtet indem das Sonnenlicht durch das Fenster auf den Fußboden trifft und von dort auf die Zimmerdecke reflektiert wird, wo es wiederum auf die Wände und Einrichtung reflektiert wird bis das ganze Zimmer ausgeleuchtet wird. Dabei verändert sich bei jeder Reflektion sowohl die Lichfarbe als auch die Intensität (Lichtstärke) weil jede Oberfläche nicht nur reflektierend wirkt sondern auch einen Teil des Lichts absorbiert.
Bei einem einfachen Raytracer würde das Zimmer nicht beleuchtet werden und einfach nur Schwarz sein. Zu sehen wäre nur der dirkte Lichtschein der durch das Fenster auf den Boden fällt. Die Decke und die Wände sowie die Einrichtung wären Schwarz weil ein Raytracer nur den Weg bis zu sichtbaren Lichquelle berechnet, er berechnet nur das direkte Licht.
Um ein natürliches Bild zu erhalten ist ein erweiterter Raytracer nötig, der in der Lage ist, Diffuses also indirektes Licht zu berechnen. Das Verfahren zur Berechnung von Diffusem Licht wird i.d.R. GI (Global Ilumination) genannt. Dabei erzeugt jeder Lichtstrahl beim Auftreffen auf eine Oberfläche i.d.R. weitere Lichstrahlen die ebenfalls Berechnet werden. Diese Berechnug dauert natürlich deutlich länger als ein einfacher Raytracing-Algorithmus, liefert aber auch ein realistischeres Ergebnis.
Je nach Szene und GI Algorithmus kann z.B. bei lediglich 2 Reflektionsschritten die Berechnungdauer wie folgt verlängern:
Szene mit einfachem Raytracer 800x600 = 5 Sekunden
Szene mit GI begrenzt auf 2 Reflektionen/Pixel = über 8 Minuten
Das folgende Bild zeigt ein Rendering mit einer Lichtquelle (Fenster) die mit einem normalen Raytracer berechnet wurde
Renderzeit: 0:05 Min.
Das folgende Bild zeigt die selbe Szene jedoch mit GI berechnet
Renderzeit: 8:13 Min.