Mehrere Model View-Matrizen
← Hierarchische Modellierungskoordinaten | ● | Hierarchie Ebenen →
Im Beispiel habe das Auto 4 gleiche Räder.
Also wird 4 mal die gleiche Geometrie gezeichnet werden, jedesmal an einem anderen Ort:
$M_{M_{2a}}$ sei die Position des 1. Rades am Auto, $M_{M_{2b}}$ die des 2. Rades usw.
Nur die Position des Rades in Bezug auf das Auto ändert sich von Rad zu Rad. Das Auto steht immer am gleichen Platz, d.h. der Term $M_V \cdot M_{M_1}$ ist für alle Räder identisch.
Anstelle nun diesen Term jedes mal neu für jedes Rad zu berechnen, geht man wie folgt vor:
- Man berechnet die Model-View-Matrix für das Auto:
- Man berechnet die Model-View-Matrix für das 1. Rad: $M_{MV}^{Rad1} = M_{MV}^{Auto} \cdot M_{M_{2a}}$
- und zeichnet mit $M_{MV}^{Rad1}$ das erste Rad
- Man berechnet die Model-View-Matrix für das 2. Rad: $M_{MV}^{Rad1} = M_{MV}^{Auto} \cdot M_{M_{2b}}$
- und zeichnet mit $M_{MV}^{Rad1}$ das zweite Rad
- usw.
So spart man sich eine Matrix-Multiplikation, indem man eine entsprechende Zwischen-Transformationen berechnet! Je mehr Hierarchie-Ebenen eine Szene hat, umso mehr Transformationen können eingespart werden.
D.h. für jede Hierarchieebene berechnet und speichert man eine entsprechende Zwischentransformation.
Live Demo: Hierarchical Example (T#D00)
← Hierarchische Modellierungskoordinaten | ● | Hierarchie Ebenen →