![](https://csdnimg.cn/release/download_crawler_static/9936607/bg5.jpg)
Figure 9: The camera/eye, the view frustrum and its clipping planes
After that, the vertices are transformed into clip space and assembled into primitives (triangles or lines),
which sets up the so-called clipping process. While objects that are outside of the frustrum don’t need to
be rendered and can be discarded, objects that are partially inside the frustrum need to be clipped (hence
the name), and new vertices with proper texture and color coordinates need to be created.
A perspective divide is then performed, which transforms the frustrum into a cube with normalized
coordinates (x and y between -1 and 1, z between 0 and 1) while the objects inside the frustrum are scaled
accordingly. Having this normalized cube facilitates clipping operations and sets up the projection into 2D
space (the cube simply needs to be ”flattened”).
Figure 10: Transforming into clip space
Finally, we can move into screen space where x and y coordinates are transformed for proper 2D display
(in a given window). (Note that the z-coordinate of a vertex is retained for later depth operations)
Figure 11: From view space to screen space
5