Cross-platform renderer

Project T

A top-down game with its own rendering pipeline for PlayStation 5 and Windows.

fewer draw calls (550 to 315)
42%
GPU-instanced point lights
64
platforms: PS5 and Windows
2
Gameplay capture of the arena level running at about 120 FPS.

Overview

A top-down arena game built from scratch with no third-party engine. I engineered its rendering pipeline for both PlayStation 5 and Windows: OpenGL and GLSL on PC, and the PS5 rendering API (AGC) with PSSL shaders on console, behind one C++ codebase.

The game runs a timed arena level with collectibles, obstacles and a live frame-time overlay.

Highlights

  • Cross-platform rendering pipeline for PlayStation 5 (AGC, PSSL) and Windows (OpenGL, GLSL)
  • Deferred lighting added to the existing PBR system, with 64 GPU-instanced point lights and 1 directional light
  • Instanced repeated objects such as walls and bounce pads, cutting draw calls by 42% (550 to 315)
  • Graphics debugging with NVIDIA Nsight Graphics and Razor GPU

More work

Two vertex-coloured cubes rendered by the Project V Vulkan backend on a black background

In progressGame engine

Project V

A C++20 game engine with a hand-written Vulkan 1.3 renderer.

  • C++20
  • Vulkan 1.3
  • CMake
  • GLM
A reflective blue tiled sphere lit with physically based shading above rough brown terrain

CompleteRendering

PBR in OpenGL

A physically based, deferred rendering pipeline written from scratch.

  • C++
  • OpenGL
  • GLSL
  • PBR
A low-poly forest of dark green trees on bright grass with grey mountains and a building under a night sky

CompleteRendering

Stylized Scene in OpenGL

A real-time stylized scene with GPU instancing, culling and cel shading.

  • C++
  • OpenGL
  • GLSL
  • GPU instancing