Triangle Intersection: Unterschied zwischen den Versionen

Aus Das Sopra Wiki
Florian (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Florian (Diskussion | Beiträge)
Zeile 235: Zeile 235:
== Verwendung der <tt>MeshTriangleData</tt> Klasse ==
== Verwendung der <tt>MeshTriangleData</tt> Klasse ==


blubb
Die <tt>MeshTriangleData</tt> Klasse basiert jeweils nur auf einem <tt>ModelMeshPart</tt>. Um Triangle Intersection für ein komplettes Modell zu ermöglichen muss man also für jedes <tt>ModelMeshPart</tt> des Modells eine eigene Instanz der <tt>MeshTriangleData</tt> Klasse erstellen. Wenn man sicher weiss dass das Modell nur aus einem <tt>ModelMesh</tt> und dieser wiederrum nur aus einem <tt>ModelMeshPart</tt> besteht kann man auf diese auch einfach über den Index 0 der <tt>ModelMeshCollection</tt> und der <tt>ModelMeshPartCollection</tt> der <tt>Model</tt> Klasse zugreifen (e.g. <tt>model.Meshes[0].MeshParts[0]</tt>). Hat man komplexere Modelle oder ist sich über deren Aufbau nicht sicher erstellt man am besten eine Zwischenklasse welche automatisch über alle <tt>ModelMeshes</tt> und <tt>ModelMeshParts</tt> des Modells iteriert und die entsprechende <tt>MeshTriangleData</tt> für jedes <tt>ModelMeshPart</tt> erzeugt, verwaltet und eine Schnittstelle für den Zugriff auf deren <tt>Intersect()</tt>-Methoden bereitstellt.


[[Kategorie:Code-Beispiele]]
[[Kategorie:Code-Beispiele]]