MVP Pipeline, Homogeneous Coordinates, NDC, Screen Space, and Normal Transformation
Context
You are working in a standard real-time graphics pipeline. Use column vectors, right-handed camera space, and OpenGL-style conventions unless noted:
-
Clip-space to NDC uses perspective divide by w.
-
NDC ranges: x, y, z ∈ [−1, 1].
-
Viewport origin at the bottom-left.
Tasks
-
Explain the model–view–projection (MVP) pipeline using homogeneous coordinates.
-
Derive how a 3D point in world space transforms to normalized device coordinates (NDC), and then to screen (window) space.
-
Explain why surface normals are transformed by the inverse-transpose of the model (or model-view) matrix.
-
Provide a concrete numeric example that goes from world space to screen space and demonstrates correct normal transformation.