Quake 3 BSP

Quake 3 BSP 1   Quake 3 BSP 2

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

Download:

q3bsp.zip (594 KB)