
Modern OpenGL Renderer
Modern OpenGL Renderer
This is my current personal project, written in OpenGL - currently it has a PBR model setup, clustered forward rendering (for multiple lights), glTF model loading and an experimental OpenXR branch that renders to both eyes, allows for controller input and hand tracking.

Vulkan Renderer
Vulkan Renderer
This was a personal project I worked on to get an understanding of setting up a Vulkan renderer.

OpenGL - Game Engine
OpenGL - Game Engine
I worked alongside a group of 10 to create a game engine using OpenGL and C++. I designed most of the GUI along with a few extra graphical features such as the implementation of a framebuffer and billboards.

Tools Research and Development
Tools Research and Development
For my FYP at Staffordshire University, I researched into the development of tools and the best practices when creating tools, such as HCI and UX. The final product was mainly a PoC that could work in multiple engines.

Memory Management and Optimization
Memory Management and Optimization
During this project I implemented features such as octrees and multithreading to improve the overall performance of an application. I also ported the project to the GNU/Linux platform and used platform specific features to further optimize the application.

Unreal Engine 5 - Metasounds Project
Unreal Engine 5 - Metasounds Project
This is a project created within Unreal Engine using Metasounds. It's a simple binaural audio/ spatial sound system that includes; directional audio, sound occlusion, falloff and distortion when you're close to the source.

Unity Movement Shooter
Unity Movement Shooter
I worked alongside a group of 7 to create a movement shooter within the Unity Engine. I worked on multiple features, but the main feature I worked on was asset creation; such as modelling weapons or level objects as well as creating a loading system to make loading levels much simpler and faster.

Network Chat Application
Network Chat Application
This is a simple network chat application that uses TCP/IP and packets written in C# and WPF (for the interface).

Direct X 11 Physics Application
Direct X 11 Physics Application
This is a basic physics application created in DirectX 11. It features a few physics solvers such as AABB, Sphere and Plane. It also includes gravity, acceleration and drag/ friction.

DirectX 11 Renderer
DirectX 11 Renderer
This is a renderer written in DirectX 11, it supports model and texture loading with a few basic features like Phong lighting and fog. It also offers support for loading scenes from a file.