Work in progress framework using opengl to later use for personal projects
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Work in this repository has been discontinued. The project lives on in a new repository, as it has been merged with my planet renderer:

Framework using opengl to later use for personal projects


Currently used libraries: SDL2, GLM, DevIL, stb_image, GLAD and Assimp

for library licenses see Library

Structure inspired by the OverlordEngine from Digital Arts and Entertainment


  • Basic Physically Based Rendering
  • HighDynamicRange Environment maps
  • Image Based Lighting
  • Deferred and Forward rendering
  • Lights rendered as Light Volumes
  • Cascaded Shadow Maps
  • Bloom with texture downsampling
  • Frustum Culling
  • Text Rendering
  • Stereoscopic Normal map encoding and decoding for optimal use of G-Buffer
  • Buffer Display mode
  • Scenegraph Entity Hirachy
  • Entity Component System
  • Singleton Pattern for things like WINDOW, INPUT, TIME, CAMERA etc
  • Observer Pattern for input
  • Factory Pattern for Content Managment
  • Mesh Filter -> Vertex buffer building depending on material needs

G-Buffer Layout

R Channel G Channel B Channel A Channel
Position .x Position .y Position .z AO .x
Normal .x Normal .y Metalness.x Specular .x
BaseColor.r BaseColor.g BaseColor.b Roughness.x

Demo Video



Combined buffer

alt text alt text


alt text


alt text

Spamming point lights

alt text alt text

Buffer display mode

alt text

Legacy Shader:

For comparison of rendering quality between Legacy (Blinn-Phong Shading) and PBR alt text