OpenGL Matrizen
← GL Legacy Attribute | ● | GL Matrix Manipulation →
Im Legacy Mode werden in OpenGL die Projektions- und die ModellView-Matrix getrennt spezifiziert; die MVP-Matrix ergibt sich automatisch, ebenso die inverse transponierte ModellView-Matrix für die Normalentransformation.
Der Open GL Matrix Mode legt fest, welche der beiden Einzelmatrizen P over MV durch nachfolgende Transformationen verändert werden soll.
Für die Projektionsmatrix P:
Für die Transformationsmatrix MV:
Im Vertex-Shader kommen die so angegebenen Matrizen an:
gl_ModelViewMatrix
gl_ModelViewProjectionMatrix
gl_NormalMatrix
(inverse transponierte ModellView-Matrix)
Achtung: In core Profilen gibt es diese Matrizen und die dazugehörigen OpenGL-Calls nicht mehr… Nur noch selbst definierte!
glVertex definiert deshalb selber die uniformen Variablen mv
, mvp
, mvit
- daher benutzen wir diese die ganze Zeit!
Auch sonst machen selbst definierte Matrizen mehr Sinn (so wie es im Praktikum gelebt wird), da man mehr Kontrolle über sie hat.