Raytracing Varianten
← Motion Blur | ● | Raymarching →
Ray casting
Raycasting ist der Prozess, die Farbe eines Pixels durch einen Sichtstrahl zu ermitteln, der vom Auge in die Szene ausgeschickt wird. Der Schnittpunkt mit der Geometrie wird analytisch bestimmt. Bei mehreren Schnittpunkten gewinnt der, der am näher am Auge liegt. An diesem Punkt wird am Ende die Beleuchtungsberechnung durchgeführt.
Doom (ja, das erste) wurde unter anderem durch seine schnelle 3D Grafik berühmt, die mit Raycasting auf dem Prozessor berechnet wurde.
Ray marching
Beim Raymarching wird der Schnittpunkt mit der Geometrie nicht analytisch berechnet; statt dessen wird der Strahl abgetastet - entweder äquidistant, oder mit durch andere Methoden bestimmte Schrittweiten. Sobald der Abtastpunkt sich innerhalb der Geometrie befindet, wird die Beleuchtungsberechnung durchgeführt. Die Geometrie muss also ein Volumen haben, es funktioniert nicht mit reinen Flächen.
Raymarching ist konzeptionell simpler als Raycasting, und es ist leichter möglich, volumetrische Effekte zu ermitteln. Deshalb nutzen die meisten Effekte auf Shadertoy Raymarching.
Ray tracing
Von Raytracing spricht man, wenn Raycasting oder Raymarching beim Treffen der Geometrie fortgesetzt wird, wenn die Geometrie reflektiv oder (semi)-transparent ist. Auch für die Ermittlung der Lichtsituation werden bei jedem Treffer Schattenstrahlen in Richtung der Lichtquellen ausgesandt.
Raytracing ist also die rekursive Erweiterung von Raycasting oder Raymarching. Auch wird oft die Gesamtheit aller Algorithmen als Raytracing bezeichnet. Insgesamt sind die Begriffe nicht ganz eindeutig definiert, insbesondere der Unterschied von Raycasting zu Raytracing.
← Motion Blur | ● | Raymarching →