Computergrafik

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.

Rad1: $M_{MV} = M_V \cdot M_{M_1} \cdot M_{M_{2a}}$
Rad2: $M_{MV} = M_V \cdot M_{M_1} \cdot M_{M_{2b}}$
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:

  1. Man berechnet die Model-View-Matrix für das Auto:
$M_{MV}^{Auto} = M_V \cdot M_{M_1}$
  • 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

Options: