In this assignment, there was a choice to develop a demo demonstrating shadows, ray tracing, or physically based rendering (PBR). I decided on the latter and created a demo with six spheres and four lights.
This demo used the engine I created for another assignment, so the focus was purely on implementing PBR.
The demo uses GGX/Schlick-GGX (left) and Blinn-Phong/Geometry Beckmann (right) techniques to demonstrate my understanding of PBR.
Top level architecture of the demo. As mentioned above, this demo uses the engine I created meaning I already had entities, components, rendering, etc. to demonstrate PBR.