C++ Developer in Seattle, WA, United States
Software Engineer2017 - PRESENTOculus VR
Technologies: C++, OpenGL, Qt, STL, TBB, XML
- Wrote a high-performance physical ray tracer/optical simulator; used C++, STL, and TBB.
- Developed a visualizer for the ray tracer; used C++, Qt, OpenGL.
- Authored a real-time reflection library; used C++ and XML.
Independent Developer2013 - 2017Freelance
Technologies: C++, C++ 11, SDL, OpenGL, STL, GLSL, Boost, MQL4
- Independently developed from scratch the game PlanNet, a casual RTS with a unique and addictive gameplay mechanic; used SDL and OpenGL 2.0, with C++ 11, STL, and Boost.
- Developed automated trading software and optimizer; used C++, STL, and MQL4.
- Developed an image-enhancement GPU shader for use in console and arcade emulators; used C++, OpenGL, and GLSL.
Software Engineer2007 - 2013Toshiba
- Wrote the majority of the UI for European TVs; used C++ and PEG.js.
- Maintained a 2D software rendering library that was used by all the TV models; used C++.
- Built a Full HD animated menu, using software rendering that ran at 60 frames per second. Before the project began, it was deemed impossible to run at a reasonable framerate at all; I used C++ and ASM/SIMD (Arm Neon).
- Optical Simulator | Oculus VR (Development)
This is a full-stack replacement of an existing tool chain which included Zemax, a 50,000/seat piece of software. I designed and programmed this as the sole developer in C++ and Qt/OpenGL.
The performance of both the simulation and visualization wound up being hundreds of times faster than the existing software and my clients (a team of PhD optical researchers) couldn't have been happier!
- Meta | Oculus VR (Development)
Meta is a C++ run-time reflection library that I wrote which is one of the core technologies used in the optical simulator. It is minimally intrusive and supports automated serialization, visitation, cloning, hashing, and more.
- PlanNet (Development)https://www.youtube.com/watch?v=e7i5HLW2rXc
PlanNet is a real-time strategy game that I designed and programmed; used C++, OpenGL, and SDL. The game concept came to me in a dream and it was gratifying and instructive to build the entire game from scratch.
- Full HD Animated Menu | Toshiba (Development)https://www.youtube.com/watch?v=0eQvjH0xF60
The main menu for this TV was supposed to be simple and non-animated, due to the difficulty of rendering in Full HD with very limited hardware (200 Mhz and very slow 2D graphics).
I wanted to see if the original, animated design could be implemented. It turned out, with enough optimization, it could!
LanguagesC++11, C++17, GLSL, C++, Assembly, Python, Java
Libraries/APIsOpenGL ES, SDL, OpenGL
ToolsMicrosoft Visual Studio, Direct3D
ParadigmsConcurrent Programming, Object-oriented Programming (OOP), Agile, Functional Programming
OtherOptimization, Game Development
- Bachelor's degree in Computer Science1995 - 1999Williams College - Williamstown, MA, USA