This projecy was written in c++ and use OpenGL glut library, consisting of two programs, described next, each of them share a large amount of code base.
The aim of frustum is to demonstrate the Frustum Culling technique used in most 3D rendering software and games where several object exists in a scene but few of them have to be rendered in the viewport. To do so this technique uses some calculation to find out which objects can be seen by the camera and which can not, thus saving processing time.
To achieve an interesting demonstration the program simulates a virtual camera, it is a third person camera in which you can observe objects being rendered inside the viewport normally and wireframe outside. User can move its real camera and the virtual camera using the commands:
The program accepts one of several height maps(located in hmaps dir) to generate the scene. The scene uses the map and put several procedure generated objects like trees, rocks, grass and water.
Usage: frustum heightmap.raw
A non ending woods with several procedure generated objects like trees, rocks, grass and clouds. The scene never ends because when user reaches a block end another block is put in front of him to continue path. Use arrow keys to move.