Ray Tracing: Unterschied zwischen den Versionen
Aus Das Sopra Wiki
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| Zeile 3: | Zeile 3: | ||
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 Volume | Bounding Volumes]] ausreichen während manchmal genau der getroffene Teil eines Objekts benötigt wird. | 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 Volume | Bounding Volumes]] ausreichen während manchmal genau der getroffene Teil eines Objekts benötigt wird. | ||
Das Finden von Schnitten kann anhand der [[Ray]] und | Das Finden von Schnitten eines Strahls mit [[Bounding Volume]]s kann anhand der [[Ray]] und Bounding Volume [[CSharp#Structs | Structs]] sehr einfach implementiert werden. Wenn man die genauen Schnittpunkte eines Strahls mit den [[Model#Face | 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 == | == Naives Ray Tracing == | ||
