Ray Tracing

Aus Das Sopra Wiki



Ray Tracing ist das Verfolgen eines beim Ray Casting erstellten Strahls in der Szene. Ziel der Verfolgung des Strahls ist es das erste Hindernis zu finden auf welches der Strahl auftrifft. Je nachdem für welchen Zweck der Strahl ausgesendet wurde, müssen unter Umständen nur bestimmte Objekte der Szene berücksichtigt werden oder für die Genauigkeit der Schnittprüfung können manchmal die umgebenden Bounding Volumes ausreichen während manchmal genau der getroffene Teil eines Objekts benötigt wird.

Das Finden von Schnitten eines Strahls mit Bounding Volumes kann anhand der Ray und Bounding Volume Structs sehr einfach implementiert werden. Wenn man die genauen Schnittpunkte eines Strahls mit den Triangles eines Modells berechnen möchte muss man dies manuell implementieren da dies von XNA standardmäßig nicht unterstützt wird. Der Triangle Intersection Artikel zeigt wie dies bei XNA implementiert werden kann.

Die Schwierigkeit beim Ray Tracing ist es den nahsten Schnittpunkt des Strahls effizient, also zum einen möglichst schnell und zum anderen mit einem möglichst geringen zusätzlichen Speicherplatzaufwand für Beschleunigungsstrukturen zu finden.

Naives Ray Tracing

to be continued ...