Frustum object
A camera's viewing volume can be represented by a frustum. A frustum is made up of six planes, visually it looks like a pyramid with its peek truncated:
The frustum is composed of the top, bottom, left, right, near, and far planes. The normal of each plane points inward, towards the center of the frustum:
Having a view Frustum is very useful in graphics. We can use the frustum to render only what is visible to the camera. We don't need a Frustum primitive for our engine to work, but it is a very useful primitive to have in our toolbox.
Getting ready
We are going to create a new Frustum
object that will contain six planes. We are also implementing an Intersection
helper function, which will return the point at which three planes intersect. This helper function will be used to find the corner points of the frustum. We will also create a GetCorners
function to make finding the corners of the frustum less verbose.
Our Frustum
definition will contain variables named near
...