Computergrafik

Übersicht über die Koordinatensysteme

MVP Rechenbeispiel | | Normalisierte Projektion

  • Modell-Koordinaten
    Das Koordinatensystem der Vertices (übergeben per lglVertex)
    entsprechend der Modeling-Transformation $M$ (ggf. mehrere)
    i.d.R. nur affine oder Starrkörper-Trafos: translate(), rotate()
  • Welt-Koordinaten
    Festes gemeinsames Koordinatensystem der Modelle (und der Kamera)
  • Augen-Koordinaten (View-Koordinaten, Kamera-Koordinaten)
    Das 3D Koordinatensystem parallel zur Bildebene
    entsprechend der View-Transformation $V$
    i.d.R. definiert via lookat()
    Beleuchtungsberechnung werden hier durchgeführt
    View-Trafo wird mit Modeling-Trafo zur ModelView $MV = V \cdot M$ zusammengefasst
    Setzen via LGL: lglModelView(MV)
  • Projektion
    Von 3D in das 2D Koordinatensystem der Bildebene
    entsprechend der Perspektivischen-Transformation $P$
    i.d.R. definiert via ortho(), frustum(), perspective()
    Setzen via LGL: lglProjection(P)
  • Clip-Koordinaten
    Dreiecke werden hier gegen das View Frustum geclippt
    Dehomogenisierung (Perspektivische Division von x,y,z durch w)
    nicht veränderbar, fester Bestandteil der Pipeline
  • Normalisierte Device-Koordinaten
    −1..1 in x/y/z für sichtbare Fragmente
    entsprechend der Viewport-Transformation
    wird nicht über MVP-Matrix abgebildet
  • Window-Koordinaten
    kommt so im Fragment-Shader in gl_FragCoord an
    mehr dazu später in Teil 3


MVP Rechenbeispiel | | Normalisierte Projektion

Options: