The rendering pipeline is the sequence of computations performed on data to transform it from an abstract description into an array of pixel information that can be displayed. One way to characterize it is by the sequence of coordinate systems through which a point in the abstract space moves on the way to the screen.
Definition (Object) Space: | In a scene, individual objects are often modeled in local coordinate systems. This makes for simpler mathematical descriptions, and allows transformations on hierarchies of objects later on. |
rotation, translation and scaling | |
World Space: | All individual objects are transformed into a single coordinate system where they are in proper relation to each other. |
translation and rotation | |
Eye Space: | An eye ray, representing the viewer's position and orientation, is placed in world space. Then, the world coordinates are transformed so that this ray lies on the Z axis, with the eye itelf at the origin. This simplifies clipping and depth calculations. |
shear, scale and perpspective projection | |
Clip Space: | The volume visible from the eye is mapped into a canonical view volume, in such a way that depth information is retained. The goal is to throw away geometric information that lies outside the canonical view volume and speed up the rendering process. |
orthographic projection | |
NDC (Screen) Space: | Points in clip space are mapped onto an abstract screen, a plane lying in front of the eye. This plane represents the geometric properties of the viewing screen, but is independent of explicit pixel dimensions. |
scaling and translation | |
Pixel (Raster) Space: | Finally, positions in the abstract screen space are mapped to specific discrete coordinates on the screen. |
Previous: Geometric Transformations Index |
Up: Geometric Transformations Index |
Next: Elementary Transformations |