Quake 3 BSP
Description:
This program loads in and displays a quake 3 level.
The following are implemented:
Polygon Faces
In-level meshes
Curved surfaces
Lightmapping
BSP & PVS
The program uses "config.txt" for a map name and initial camera position. It also reads in the curve tesselation (curved surfaces are tesselated once, on loading). These attributes can thus be changed without requiring a recompile.
I have created a small level using GtkRadiant to demonstreate the techniques. Note I am yet to implement billboards, which is why the torches do not have any flames above them.
Requirements:
ARB_multitexture
EXT_texture_env_combine
Optional:
EXT_multi_draw_arrays
EXT_draw_range_elements
References:
Quake 3 BSP Format, by Ben Humphrey. http://www.gametutorials.com
Unofficial Quake 3 map specs, by Kekoa Proudfoot. http://graphics.stanford.edu