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.