Projects

Here are some projects I have worked on:

DeepComp – Real-Time Depth & Segmentation of Video in Unreal Engine, 2026

A six-month-long project, which combines real-time rendering and machine learning. The goal is to invert the Simulcam process: instead of compositing CG objects into live action footage, DeepComp segments a live video stream using a Yolo model (via TensorRT) and renders it on a quad in the Unreal Engine world. The project was a huge success, and generated interest amongst VFX Supervisors and our clients.

ML Tools in Unreal Engine, 2024

Here are two R&D efforts of mine to incorporate Generative AI and LLMs into Unreal:

1. Image-to-3d integration using Instant Mesh:

2. LLM integration using DeepSeek hosted on Ollama

Gaussian Splatting in Unreal Engine, 2024

Following on from Unreal RTX, the next exciting rendering project I worked on was a Gaussian Splatting plugin for Unreal Engine:

Dimension Unreal Engine (DUE), 2023

Link to the article

Upon joining Dimension (DNEG 360), I had the opportunity to work on projects that were very exciting. One of the first was Dimension Unreal Engine (DUE) – a custom version of Unreal Engine with enhanced rendering features such as support for NVIDIA’s Caustics, Direct Illumination (RTXDI), and more.

I was honoured to be interviewed about my work, with my colleagues:

Here is some test footage we created with DUE. Some frames are rendered directly from the engine and some are captured on set, where the engine was powering our LED volume:

Virtual Camera Project – DNEG Virtual Production, Research and Development, 2022

At DNEG, I worked on a custom Virtual Camera pipeline inside Unreal Engine. In the video below, an Unreal Editor instance was pixel streamed to an iPad Pro driven by an Xbox Gamepad. The goal was to create a fully customisable shot-creation experience using off-the-shelf hardware.

GPU Simulation: Raytracing, 2021

Imagination Website

My work at Imagination focused primarily on hardware acceleration techniques for raytracing. I spent almost a year working on the coherency gathering engine inside the Ray Acceleration Cluster (RAC) and some other smaller parts of the system.

The Hyperverse Transfer Protocol, 2020

GitHub | Report

For my master’s thesis, I conceptualised a networking protocol that allowed heterogeneous game engines to render the same virtual environment. The project was inspired by the paper Scene-Graph-As-Bus (2000) by Zeleznik et al. The work ultimately was accepted as a workshop paper in IEEE 2021.

In the video below, we demonstrate the sharing of 3D graphics between a Unity and Python (using Pyrender) client using a Java server.

Radon Transform and Inverse Problems, 2020

GitHub | Report

For my mini-project in my Inverse Problems in Imaging course, I investigated the Radon transform and its inverse using MATLAB. I investigated the back-projection method, singular value analysis, matrix-free regularisation, Haar wavelet denoising and soft-thresholding using wavelets. Lastly, I explored inpainting on limited-angle and undersampled sinograms.

Computational Timelapse Videos, 2020

GitHub | Report

This project was developed as the final assessment piece for my Computational Photography class. It is a web application that aims to create uniform and non-uniform timelapses with motion blur using OpenCV and Python. It uses Bing Search to find frames to create hyperlapses. The algorithms and techniques are adapted from the paper Computational Time-Lapse Video by Eric P. Bennett et al.

Mixed Reality Escape Room Project, 2019

GitHub

For our Virtual Environments class, we developed a mixed reality experience titled “Escape the Room” using the Leap Motion, HTC Vive and the Vive Tracker. This project was built entirely in Unity.

JNVI (Java Native Vectorisation Interface), 2018

GitHub

The JNVI was developed as a final-year project as a part of my undergraduate Computer Science degree. It is an API that exposed access to low-level SIMD (Single Instruction, Multiple Data) intrinsics via the JNI (Java Native Interface).

FusionReactor, 2017

FusionReactor Website

As a part of my year-long internship at Intergral GmbH, I worked on FusionReactor. FusionReactor is an application performance monitoring (APM) solution for Java servlet containers. Ultimately, I developed three flagship features: the CPU sampler, method hotspotter and log archive viewer.

Ixion, 2014

GitHub

My first project in 3d rendering was Ixion – a game written in Java and LWJGL. The engine was written from scratch.