WIPE is a 3D graphics engine written purely C99 with little dependencies.
It aims to be fast and portable : it should work fine on any machine having OpenGL 2.0 and SDL2.
- Written in C99
- Works on any machine with
OpenGL 2.1or higher - Nuklear UI
- Linux, BSD, MacOS and Windows !
I decided to use leagecy OpenGL (fixed pipeline) for most of this project because it's much simpler then writing shaders. There will be some, for post-processing and the sake of usability in modern games.
This engine isn't meant to be used in the conception of the next DOOM, with bleeding edge technology, RTX and PBR. But if you want to make a Quake-3 like graphics, go for it !
To compile, you must have :
- MinGW with
glext.h - SDL2
- GLU
- OpenGL 2.1
Thanks to the developers of SDL2 and Nuklear ! Every lib is the copyright of its respective... copyright holder?
You can compile using CMake, and if on Windows, MinGW makefiles :
cmake -B build
cmake --build build --config Releasecmake -B build -G "MinGW Makefiles"
cmake --build build --config ReleaseWIPE got its own geometry format : Wipe Models, tailored for this engine. It's a binary file containing vertex data (color & position) and textures.
Maps are also custom : another binary format
Please see demo.c for a live example !
!> [!NOTE]
You need to define some variables in the main loop, otherwise they will be filled with garbage.
- Camera
- Movement
- Coordinates display
- VBO drawing
- Transform function
- Models
- Maps
- Light
- Post-process
- Optimize engine
This project is published under the Zlib license. Feel free to contribute by forking or patchsets. Credits and mention is not mandatory, though greatly appreciated.
