Overview
This project features a fully rendered 3D scene using Physically Based Rendering (PBR) and Image-Based Lighting (IBL), built from scratch with a custom OpenGL engine. I developed it during my second year at SAE Institute Geneva as part of the Computer Graphics module.
The objective was to explore rasterization-based rendering in depth. I began with fundamental concepts like rendering a triangle, working with uniforms, and applying matrix transformations. As I progressed, I implemented more advanced techniques such as shadow mapping, deferred shading, PBR, and IBL. The final result is a fully realized 3D scene that demonstrates my understanding of modern graphics rendering techniques.
How it looks like
Here is a showcase of the scene

Features that I implemented and learned to use
- OBJ Model Loading
- Face Culling
- Cubemap
- Deferred Shading
- Screen Space Ambient Occlusion (SSAO)
- Shadow Mapping
- Directional Light Shadow Map
- Point Light Shadow Cubemap
- Physically Based Rendering (PBR)
- Image Based Lighting (IBL)
- Directional Light
- Point Light
- Physically Based Bloom
- High Dynamic Range (HDR) + Tone Mapping + Gamma Correction