PBR GLTF Viewer

A GLTF viewer running on PlayStation 5

Role | Rendering

Grade: 84/100

Overview

For BUAS Y2 block A, I had to create a PBR renderer on the PlayStation 5.

A main part of this project of course was working with proprietary hardware and APIs,
Due to that I cannot share too many details of this project here.

I will highlight some of the features I implemented below.

The team

PBR

I implemented PBR in line with the GLTF specifications.
This includes support for multiple lights and image based lighting.

Flight helmet Damaged helmet Sponza

Transmission

I also implemented transmission in my renderer.
For this I implemented the paper "An Approximate Image-Space Approach for Interactive Refraction" by Chris Wyman
This involves rendering transparent backfaces to a separate buffer and then using that to refract the opaque pass more accurately.
This allows for rendering speculars of the backside and accurate depth base attenuation.

Dragon A beautiful game

Reflection probes

For more accurate lighting and reflections I implemented reflection probes.
These capture the environment at specific locations for accurate sampling and static global illumination.
My implementation captures the maps by rendering the scene using only distant IBL and direct lighting.

Bloom & Postprocessing

To improve the quality and impact of light I implemented bloom and tonemapping into my renderer.
I render in HDR and apply physically based bloom using compute shaders.