Scroll To View More
Hire the top 3% of freelance developers
Gareth Morgan

Gareth Morgan

San Francisco, CA, United States
Member since June 5, 2017
Gareth has almost 20 years of 3D, games, and VR development experience at all levels of the stack and on many platforms (including AAA console games). He has been programming 3D, VR, and games engine since the 1990's—from R&D on sophisticated rendering techniques down to low-level driver development.
Gareth is now available for hire
  • 3D, 20 years
  • OpenGL, 20 years
  • C, 20 years
  • C++, 20 years
  • 3ds Max, 15 years
  • DirectX, 15 years
  • OpenGL ES, 14 years
  • LLVM, 8 years
San Francisco, CA, United States
Preferred Environment
Windows Visual Studio, CMake, Clang, Ubuntu Linux
The most amazing...
...project I worked on was the ray-tracing PowerVR GPUs that I developed at Imagination Technologies—these fundamentally changed the way GPUs work.
  • Lead Software Design Engineer
    Imagination Technologies
    2008 - 2016
    • 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 (
    • 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 (
    • Evangelized PowerVR ray-tracing technology by presenting at GDC in 2014 and 2016, publishing a chapter in GPU Pro 6 (
    Technologies: C++, GLSL, Unity 3D, GPU, LLVM
  • Lead Engine Programmer
    2004 - 2008
    • Engine programmer for Enemy Territory: Quake Wars for PS3 (released Summer 2008).
    • Lead engine programmer on XMen: The Official Game (released in May 2006).
    • Extensive tools development experience using 3DS Max and Maya.
    • Developed high performance game engines in C++ for Xbox 360 games consoles.
    • Developed high performance game engines in C++ for PS3 games consoles.
    Technologies: C/C++, DirectX, HLSL, 3DS Max, Maya
  • Technical Consultant
    Silicon Graphics
    1999 - 2002
    • Developed the Virtual Mummy project with the British Museum. Produced an interactive volume rendering of a 3000-year-old Egyptian mummy from CAT scan. 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: C/C++, 3D, OpenGL, Volume Rendering
  • Languages
    Python, C, C++, JavaScript, Java, C#
  • Libraries/APIs
    WebGL, DirectX, OpenGL ES, OpenGL, Android OpenGL, Vulkan
  • Tools
    Visual Studio, CMake, Android NDK, 3ds Max, Maya, Make, Xcode
  • Paradigms
    GPGPU, Augmented Reality
  • Platforms
    Android, CUDA
  • Other
    3D, LLVM, OpenCL/GPU, Virtual Reality (VR), Optimization, Multithreading
  • Frameworks
  • Storage
  • Master of Engineering in Computer Science
    University of Manchester - Manchester, UK
    1995 - 1999
Hire the top 3% of freelance developers
I really like this profile
Share it with others