Von den Koordinaten-Systemen
NDCs sind normalized device coordinates, das heißt dass die x, y und z koordinaten in einer Spanne von -1 bis 1 definiert werden. Alles außerhalb des Bereichs wird von der Kamera nicht mehr erfasst. Die Spanne wird dabei von uns festgelegt, also die Spanne von Koordinaten die innerhalb von -1 bis 1 erfasst werden.
Die NDCs werden dann an den Rasterizer weitergegeben, der die Koordinaten dann zu 2D Pixeln auf dem Bildschirm umrechnet. Was hierbei ein Rasterizer ist, ist für mich auch noch etwas offen.
Es gibt dabei fünf Koordinaten-Systeme:
- Local Space
- World Space
- View Space
- Clip Space
- Screen Space
Local Space: Ursprung eines Objektes (0, 0, 0).
World Space: Umfässt die gesamten Eckpunkte aller Objekte in der (Game)-Welt. Für die Umrechnung von Local zur World wird die Model Matrix genutzt.
View Space: Der Bereich, der von der Kamera aus erfasst wird. Umrechnung von World zu View: View Matrix.
Clip Space: Sind alle Eckpunkte, die innerhalb eines bestimmten Bereichs liegen. Alle anderen Eckpunkte werden geclippt, also weggeworfen. Umrechnung View zu Clip: Projection Matrix. Der angesprochene Bereich ist dann ein NDC und wird auch Frustum genannt. Der Prozess der Konvertierung der Koordinaten von einem bestimmten Bereich zur NDC wird Projection genannt. In einem letzten Schritt wird die Operation perspective division durchgeführt. Hier werden die Koordinaten-Eckpunkte x, y, und z durch die homogene Komponente (homogenous component) w geteilt. Dabei werden die 4D Clip Koordinaten in ein 3D NDCs transformiert. Für die Projektion kann entweder eine orthographic projection matrix oder eine perspective projection gewählt werden.
Die beiden Perspektiven sind sehr interessant. Nach meinem Verständnis kann man sagen dass die Orthographische Projektion für 3D-Anwendung ungeeignet ist. Denn die Eckpunkte der Objekte werden hier mit ungestört dargestellt und nicht von einer Perspektive (kleinere Objekte in der Entfernung) verzerrt. Daher wird diese Projektion für 2D-Anwenungen, architectural oder engineering applications genutzt. Die Perspective Projection ist sozusagen für die coolen 3D-Sachen zuständig (siehe Abb. 1).

No Comment