Lead Software Design Engineer
2008 - 2016Imagination Technologies- Developed OpenRL—a ray-tracing API based on OpenGL ES. It's a version of OpenGL that incorporates raytracing; it required low-level C++ development on all areas of the stack from the low-level driver upwards; a link to more information is provided in my portfolio.
- Developed the compiler using LLVM. I gained extensive experience developing shader compilers using the Low-Level Virtual Machine framework, including developing in the LLVM source code itself.
- Implemented ray-tracing techniques on desktop GPUs. It required in-depth general purpose GPU programming on a variety of APIs including OpenCL, CUDA, and DirectX.
- Worked with the PowerVR architecture team to produce a set of GLES extensions for ray-tracing.
- Researched and implemented sophisticated rendering techniques using the PowerVR ray tracing hardware.
- Integrated ray-tracing into the Unity 3D engine. It required extensive low-level Unity development. The work formed the centerpiece of PowerVR's presentations at GDC in 2014 and 2016; YouTube links can be found in my portfolio.
- Evangelized PowerVR ray-tracing technology by presenting at GDC in 2014 and 2016, publishing a chapter in GPU Pro 6; a link to more information is provided in my portfolio.
Technologies: LLVM, Graphics Processing Unit (GPU), Unity3D, GLSL, C++Lead Engine Programmer
2004 - 2008Activision- Worked as an engine programmer for Enemy Territory: Quake Wars for PS3 (released Summer 2008).
- Led the engine programming on X-Men: The Official Game (released in May 2006).
- Developed extensively tools using 3DS Max and Maya.
- Built high-performance game engines in C++ for Xbox 360 games consoles.
- Created high performance game engines in C++ for PS3 games consoles.
Technologies: Maya, 3ds Max, HLSL, DirectX, C, C++Technical Consultant
1999 - 2002Silicon Graphics- Developed the Virtual Mummy project with the British Museum. Produced an interactive volume rendering of a 3,000-year-old Egyptian mummy from CAT scan. The project was written in C using OpenGL Volumizer.
- Worked with CTN and the United Kingdom Department of Trade and Industry to produce the Future Focus immersive 3D application. Based on OpenGL powered by an SGI Onyx visual supercomputer.
- Taught courses in OpenGL at SGI's UK headquarters.
Technologies: Volume Rendering, OpenGL, 3D, C, C++