Experience:


Research Associate - School of Earth and Environmental Sciences - University of Portsmouth
[2017 - Present]
[C#, Unity, Oculus]



Demonstrator - School of Creative and Cultural Industries - University of Portsmouth
[2016 - 2019]
[Python, Maya]



Bachelor's Degree, Computer Games Technology, First Class Honours.
University of Portsmouth
[2012 - 2016]


Top Picks:


3DTeLC VR tools
Development of tools and pipelines for data visualisation and interaction for Geoscience data sets.
[Research Associate - School of Earth and Environmental Sciences - University of Portsmouth]
[2017 - Present]
[C#, Unity, Oculus] [Software Development] [VR]


Batch Rendering for Training Data Generation
Scripts for Importing and Rendering of pre-built 3D facial models in multiple HDRI lighting environments.
[Freelance]
[2019]
[Blender, Python] [Tools Programming]


Globe Theatre VR
A simulation of the original Globe Theatre, this was a group project built for a client and focused on the crowd in the globe rather than the building.
[2016]
[Python, Maya, Autodesk Character Generator] [Tools Programming]



Timeline:


[3DTelC VR]

Anatomy Sculpting
Subdivision surface modelling for base meshes with sculpted details and musculature.
[2019]
[Blender] [Artwork]



[Batch Rendering for Training Data Generation]


FPS Prototyping in UE4 - Networked C++
Porting earlier blueprint fps system to C++, including using UE4s server-client network model.
[2019]
[C++, Unreal engine 4] [Software Development]



Python Programming Demonstrator
Running workshops teaching the Python programming language within Maya to 1st year university students.
[Demonstrator - School of Creative and Cultural Industries - University of Portsmouth]
[2016 - 2019]
[Python, Maya] [Teaching]



3D Face modelling
Subdivision surface modelling for base facial meshes with sculpted detail.
[2018]
[Blender] [Artwork]


Maya to Unity: Blendshapes
Exporting Blendshape data from Maya into Unity.
[Freelance]
[2018]
[Maya, Python, Unity, C#] [Tools Programming]


Facial Texture Merging 
Merging of texture data from multiple images, in UV space.
[2016 -2018]
[C++, OpenGL, OpenCV] [Graphics Programming]



Albedo extraction from multi-view face textures
Removing lighting from face images in order to extract albedo values.
[2016 -2018]
[C++, OpenGL, OpenCV] [Graphics Programming]



UE4 Blueprint FPS prototype
Using UE4s blueprints system to create an FPS prototype with procedural movement.
[2018]
[UE4, Blueprints] [Software Development]



Anti-gravity racing prototypePrototyping of a Wipeout style racing game. Using linear algebra, matrices and quaternions to ensure smooth game-play.
[2017]
[C++, Leadwerks] [Software Development]



GPU Blendshape rendering Utilising blendshape data written to textures to perform blendshape interpolation directly on the GPU.
[2017]
[C++, OpenGL] [Graphics Programming]



Facial expression exporting from Maya
Batch condensing micro-expression blendshapes from Autodesk Character Generator to reduce memory requirements and ease animation burden on artists.
[2016]
[Python, Maya, Autodesk Character Generator] [Tools Programming]



[Globe Theatre VR]


Physically Based Rendering

A PBR system implemented in the leadwerks game engine. Leadwerks was chosen in order to show proficiency in working with constraints (lack of full documentation, closed source, working within an existing codebase).
[2016]
[C++, Leadwerks] [Graphics Programming]


Deferred Rendering

A small deferred shading application written to better understand the real-time graphics programmable pipeline. Written in an Object Oriented style.
[2016]
[C++, OpenGL] [Graphics Programming]