PS5 SDK
PSSL
PBR
As part of my AGCT module at Sheffield Hallam, I developed a physically based rendering engine as a solo project, written in modern C++20. Having built an engine before, I saw this as a chance to focus less on structure and more on depth—specifically, implementing a full PBR pipeline from the ground up.
What made this project particularly exciting was the use of PlayStation 5's proprietary APIs, giving me the opportunity to work closer to the kind of tooling used in real-world AAA development.
The engine includes a range of core systems and features:
-
A resource manager for textures and model data.
-
Data-driven manifest system for asset registration within the engine pipeline.
-
JSON-based scene serialization and deserialization.
-
Physically based rendering pipeline modeled after Unreal Engine’s PBR setup, fully driven by material properties.
-
Custom logging system, built from scratch.
-
Type-safe runtime settings manager, built with templates and
static_assert
checks, with support for.ini
file serialization.
-
Complete deferred shading pipeline.
- Support for directional lighting.