_ _ ___ ___ ______
| | | |/ _ \ / _ \| ___ \
| | | | (_) | (_) | |_/ /
| |/\| |\___/ \___/| __/
\ /\ / | |
\/ \/ \_|
Woop is a DOOM-style rendering engine made to learn more about binary-space partitioning and early 3D rendering techniques! It's written in C++17 and uses OpenGL as a rendering backend.
Woop is still being developed! See issues for all planned features.
- Post-processing support via GLSL
- TOML configuration
- Full WAD parsing
- Software rendering via OpenGL textures and PBOs
- Occlusion culling
- Front-to-back rendering via BSP traversal
- Basic player controller
- Clone this repository
- Build the project
- Copy your DOOM wads to assets/wads
- Specify which wad/level to load in config.toml
- Launch the executable!
Requirements:
- Your favorite C++17 compiler
- CMake v3.40 or higher
From the project's root directory, run the following:
mkdir build
cd build
cmake ..
cmake --build .
The output can then be found here!
Woop relies on a few external libraries to compile. These should be managed automatically via CMake.



