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 Bildebeneentsprechend der View-Transformation $V$i.d.R. definiert via lookat()Beleuchtungsberechnung werden hier durchgeführtView-Trafo wird mit Modeling-Trafo zur ModelView $MV = V \cdot M$ zusammengefasstSetzen via LGL: lglModelView(MV) - Projektion
Von 3D in das 2D Koordinatensystem der Bildebeneentsprechend 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 geclipptDehomogenisierung (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 Fragmenteentsprechend der Viewport-Transformationwird nicht über MVP-Matrix abgebildet - Window-Koordinaten
kommt so im Fragment-Shader in gl_FragCoord anmehr dazu später in Teil 3