At the end of my first year in university I wanted to make a simple OpenGL 3DS file loader. After I was done I started adding various features… particle systems, per pixel lighting, MD3 model loading, shadow volumes, BSP rendering etc. It might started as a simple 3DS Loader but after some months it became a big (yeah right..) 3D Engine. I was still learning C++, computer graphics and OpenGL and I can admit that I am not proud of my code! 😛 Anyways… these are some of the main features of the engine:
- BSP Rendering
- Per-Pixel lighting parallax mapping
- Z-fail shadow volumes
- Dynamic cube mapping
- 3DS, MD3 and MD5 model loader
- Lens flare effects
- GUI system