OpenGL - Deferred PBR Renderer
OpenGL - Deferred PBR Renderer

OpenGL - Deferred PBR Renderer

Created on:
Team Size: 1
Time Frame: 3 Months
Tool Used: C++ / OpenGL

This is a deferred PBR renderer made in C++ with OpenGL during the Computer Graphics class at SAE Institute.

It features :

  • Physically Based Rendering (PBR)
  • Image Based Lighting (IBL)
  • Deferred Rendering
  • Cascaded Shadow Maps
  • Normal Mapping
  • ACES HDR Tone Mapping
  • Bloom
  • Screen Space Ambient Occlusion (SSAO)
  • Scene Graph
  • Model Loading (OBJ and glTF)
  • KTX Textures Loading

I wrote a blog post where I explained some of the technical details behind this renderer on my blog.

What I Learned

  • The OpenGL API: This project is the one where I learned the most about OpenGL and generally the principles on how you talk to a GPU from a CPU.
  • Multiple rendering techniques: Although LearnOpenGL introduces the technics I implemented in this renderer in OpenGL, I’m pretty confident I would be able to implement them using other APIs.
  • My passion for the subject !: I already knew that I liked displaying triangles on screen (see 3D Viewer), but this project convinced me to become a Graphics Programmer.
GitHub Page