OpenGL Game Engine - C++

This is a rendering engine I've been working on since roughly 2020, off and on in my free time.

It is written in C++ and using OpenGL for its graphics API, but would like to support DirectX 12 in the future.
It uses a small variety of other helpful libraries (ImGUI, GLM, Assimp... etc), but I try to write most stuff myself.

Some of the features in my engine include:


  • Entity System
  • Component System
  • Scene Hierarchy
  • 2D/3D Camera Support
  • Shader / Material Manager
  • Gizmos for Debugging (cube, spheres, lines... etc)
  • Raycasting
  • Basic Physics (wip)
  • Shadows (wip)
  • Lighting (Directional, Spot light and Point light)
  • Forward Rendering
  • Transparent Sorting
  • Frustrum Culling
  • Multi Render Pass Support
  • Post-Processing & Multiple Framebuffer Support


Some features I would like to add in the future:


  • DirectX 12
  • Better lighting support
  • Deferred Rendering
  • Particle System


The source code can be found on my Github here.