Catalog · How the catalog works
OpenBSP-Legacy
id Software's Quake3 .MAP format compiler with BSP tree generation, polygon generation/optimization and bumpmapped lightmapping
- ★ 11 on GitHub
Anyone may press Interesting, signed in or not. It helps others find this project.
README
OpenBSP
OpenBSP is id Software's Quake .MAP format compiler with BSP tree generation, polygon generation/optimization and bumpmapped lightmapping.

Features
- Supports Classic Quake, Brush Primitives (Quake III and compatible game engines) and Doom 3 .MAP formats.
- Custom simple BSP format generation with ready to use GLScene loader.
- Supports 3D Studio (3DS), Quake III (MD3) and Doom 3 (MD5) mesh files for embedding static meshes into maps.
- Basic supports for Quake III shaders (.shader) and Doom 3 materials (.mtr)
- Supports JPEG and TGA textures.
- Optimized BSP tree and polygon generation.
- Static bumpmapped lightmapping with multi-threadeding.
What is not?
- It is not a game engine or a rendering engine.
- It does not create BSP formats compatible with other game engines.
- It does not use any space partitioning methods other than BSP.
- It does not support global illumination for lightmapping.
- It does not support PVS (Potentially Visible Set) for visibility culling.
Usage
For a quick start, you can use Skinhat's 3D Development Pack which is an installation package that combines Lazarus, GLScene, Quark and OpenBSP to make it easy to make a 3D game.
If you don't want to use 3D Development Pack, you need a .MAP editor like GtkRadiant or Quark to build your map files. After designing your map, export it as .MAP format and compile with OpenBSP.
To compile .MAP file with OpenBSP, run following command:
$ obspc <Game Path> <Map Filename> <Options>Available Options
| Options | Description |
|---|---|
-nolightmaps |
Disables lightmapping process (full bright) |
-disablemp |
Disables multi-threaded processing |
-subsamples [x] |
Changes subsampling amount in lightmapping |
-noshadows |
Disables shadow casting |
-savelightmaps |
Saves lightmaps to external bitmap files in output file directory |
Example
$ obspc "C:\Game\Base" "C:\Game\Base\test.map" -subsamples 4 -savelightmapsContributing
Although, further development is not planned with current Pascal codebase, a complete rewrite in modern C++ is planned in unforeseen future.
Authors
- Osman Turan - All OpenBSP development
- Eric Grange - Recycling Memory Manager
- Mike Lischke - 3D Studio (3DS) model loader
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Skinhat for his great support and 3D Development Pack.
- GLScene community for supports and ideas.

