Computergrafik

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:

glMatrixMode(GL_PROJECTION);

Für die Transformationsmatrix MV:

glMatrixMode(GL_MODELVIEW);

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.

GL Legacy Attribute | | GL Matrix Manipulation

Options: