OpenGL 3D Engine
Back in 2017 I started developing my own little 3D engine.
I didn't mean to use it to develop a real game but as a tool to explore and better understand what's behind famous engines like id Tech, Source and Unreal.
I chose C++ and OpenGL mainly because I wanted the engine to be easily ported to Linux and mobile platforms and for the same reason, I also tried to keep the number of dependencies to the minimum.
Here's the list of the features I implemented at the time:
I didn't mean to use it to develop a real game but as a tool to explore and better understand what's behind famous engines like id Tech, Source and Unreal.
I chose C++ and OpenGL mainly because I wanted the engine to be easily ported to Linux and mobile platforms and for the same reason, I also tried to keep the number of dependencies to the minimum.
Here's the list of the features I implemented at the time:
- Developed in C++ and OpenGL 4.4
- Only 4 dependencies: SDL2 for input management and OpenGL context, GLAD to load OpenGL extensions, GLM math library and SOIL to load multiple image formats
- Shader-based rendering pipeline (GLSL shaders)
- Arcball camera system
- Blinn-Phong shading model
- Shadow Mapping
- OBB collision system
- Ray picking
- Normal-mapping
- Custom OBJ file importer for static mesh
- Custom Collada file importer for skinned mesh