Introduction
In this chapter, we are going to build a camera. This camera should let us view the 3D scene we created in the last chapter. A camera might not seem relevant to physics, but we need a way to visualize everything which we are doing. As we build up the camera, you will find that most of the work revolves around matrix math covered in Chapter 2, Matrices and Chapter 3, Matrix Transformations.
A camera consists of two matrices. The view matrix is the inverse of the camera's world matrix. View matrix is used to transform the world in a way that the camera is at its center looking down the Z axis. The projection matrix transforms vertex data from eye coordinates to NDC coordinates.
Later we will use these matrices to construct a new Frustum primitive. We will finish up the chapter by learning how to un-project a point from pixel coordinates into world space. We will then use this un-projection to create a ray that allows us to pick objects in a 3D scene using the mouse.