Frustum Culling and Collision Detection

For this project I created several AABBs (Axis-Aligned-Bounding-Boxes) and placed them randomly throughout the scene. The player character now has a frustum attached to them which acts as the camera’s view. When one of the AABBs is inside the cameras frustum it will turn red representing the the object should be rendered. (It also represents a collision with the AABB) If the object is outside of the frustum, it will be yellow and can be skipped in the render to save memory. For demonstration purpose all AABBs are drawn so you can see each one as the player moves around the screen.

For this project I created several AABBs (Axis-Aligned-Bounding-Boxes) and placed them randomly throughout the scene. The player character now has a frustum attached to them which acts as the camera’s view. When one of the AABBs is inside the cameras frustum it will turn red representing the object should be rendered. (It also represents a collision with the AABB) If the object is outside of the frustum, it will be yellow and can be skipped in the render to save memory. For demonstration purpose all AABBs are drawn so you can see each one as the player moves around the screen.

This type of project is very math intensive and includes operations like:

-        Calculating the plane of triangles from three points

-        Calculating the actual frustum planes and each of their normal

-        Calculating which side of a plane a sphere is on

-        Checking for collision between the frustum and the planes that make up the AABBs.