Computergrafik
Matrix-Stack
← Mehrere ModellView-Matrizen | ● | GL Modi →
Um je Hierarchieebene eine Matrix zu speichern, wurde v.a. früher ein Matrix-Stack benutzt.
- Hierbei wird eine Matrix, die nochmal benötigt wird (im Beispiel MAutoMV) auf den Stack gepushed, also gespeichert.
- Dann wird sie weiterverarbeitet (hier: mit MM3a multipliziert).
- Dann zum Rendern verwendet (hier: Rad1)
- Für die nochmalige Verwendung wird die Matrix wieder gepopped - d.h. durch die letzte auf den Stack gepushte Matrix ersetzt
- Dann wieder weiterverarbeitet und zum Rendern verwendet.
Durch das poppen wird die Matrix vom Stack genommen. Wird sie nochmal benötigt, muss sie gleich wieder gepushed werden. Im Beispiel:
- MAutoMV berechnen
- push
- mit MM3a multiplizieren
- Rad zeichnen
- pop
- push
- mit MM3b multiplizieren
- Rad zeichnen
- pop
- push
- mit MM3c multiplizieren
- Rad zeichnen
- pop
- mit MM3d multiplizieren
- Rad zeichnen
Für das letzte Rad ist kein push nötig, da danach die Matrix für das Auto nicht mehr benötigt wird.
Diese Vorgehensweise ist i.d.R. umständlicher als mit extra Variablen (hier: eine für MAutoMV) zu arbeiten.
← Mehrere ModellView-Matrizen | ● | GL Modi →