#ifndef FRUSTUM_H
#define FRUSTUM_H
/**
* Frustum Class written by Justin Klein, 2004
*
* This class provides the functions necessary
to implement Frustum Culling in OpenGL.
* What this means is, the class determines if
a point, sphere, or cube is located within
* the camera's viewspace. If not,
than the object may be omitted from the scene.
* This can drastically reduce the processing
time required to render large 3D environments.
**/
/**
*
Call this every time the camera moves (to update the frustum)
**/
void CalculateFrustum();
/**
*
This takes a 3D point and returns TRUE if it's inside of the frustum
**/
bool
PointInFrustum(float
x, float y, float
z);
/**
*
This takes a 3D point and a radius and returns TRUE if any part of the sphere
is inside of the frustum
**/
bool
SphereInFrustum(float
x, float y, float
z, float radius);
/**
*
This takes the center and half the length of a cube and returns TRUE if any piece
of it is inside the frustum
**/
bool
CubeInFrustum( float
x, float y, float
z, float size );