OpenGL - Frage
-
Wenn ich es richtig verstanden habe, gibt es in aktuellem OpenGL kein glPushMatrix() oder Pop mehr.
Ich habe nun einen Szenengraphen vor mir.
Was ist nun besser:1. Trotz allem Push und Pop verwenden (evt selbst was schreiben)
[Also: PushMatrix, Matrix multiplizieren, Kinder abhandeln, bzw rendern, Pop-Matrix]2. Zu jedem Knoten eine absolute Matrix berechnen und dann mit LoadMatrix verwenden?
[Also: jeder Knoten berechnet seine absolute Matrix: relativeM * vaterAbsMatrix, wobei bei der Wurzel gestartet wird]Was von den beiden Möglichkeiten wird eine höhere Framerate erzeugen?
Wenn es Fragen dazu gibt, kann ich auch etwas Pseudocode posten
-
speicher die matritzen für jeden knoten im szenengraphen
und zwar pro knoten die relative + zusätzlich die absolutewenn du eine änderst, markierst du den knoten als "dirty"
und vor dem rendern bzw. beim rendern gehst du den baum von oben nach unten durch, und aktualisierst alle geänderten matritzen (also errechnest die absolute des knotens neu aus der absoluten des elternknoten * der relativen des aktuellen knotens)