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.
Permalink
Failed to load latest commit information.
GLFramework
Screenshots
.gitattributes
.gitignore
Library Licenses.md
README.md

README.md

GLFramework

Work in this repository has been discontinued. The project lives on in a new repository, as it has been merged with my planet renderer: https://github.com/Illation/ETEngine

Framework using opengl to later use for personal projects

Acknowledgments

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

for library licenses see Library Licenses.md

Structure inspired by the OverlordEngine from Digital Arts and Entertainment

Features:

  • 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

Link

Screenshots:

Combined buffer

alt text alt text

IBL

alt text

Roughness

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