Triangle Intersection: Unterschied zwischen den Versionen
Aus Das Sopra Wiki
| Zeile 258: | Zeile 258: | ||
==== Instantiierung pro Asset genügt ==== | ==== Instantiierung pro Asset genügt ==== | ||
Da sich die Mesh Daten der <tt>MeshTriangleData</tt> Klasse im Object Space befinden werden die Daten für ein bestimmtes Asset bzw. Modell immer die selben bleiben, egal wo sich dieses Modell später in der Spielwelt befindet, also egal welche Translation, Rotation oder Skalierung im World Space darauf angewandt wird. Dies bringt den Vorteil dass die Mesh Daten nicht für jede Instanz eines Modells separat ausgelesen werden müssen sondern es genügt die Mesh Daten für ein Modell einmal am Anfang beim Laden des Assets zu erzeugen und dann können sie für jede Instanz zum Berechnen von Ray-Mesh-Intersections verwendet werden. Die Unterscheidung für welche Instanz des Modells die Schnittpunkte berechnet werden sollen findet allein beim Aufruf der <tt>Intersect()</tt>-Methode statt indem der Strahl vorher vom World Space in den Object Space des Modells umgerechnet wird. | |||
==== Transformation des Rays in den Object Space ==== | ==== Transformation des Rays in den Object Space ==== | ||
[[Kategorie:Code-Beispiele]] | [[Kategorie:Code-Beispiele]] | ||
