Back to the Front Page
C, C++, C#, Rust, Haskell, Lua, GLSL, HLSL
Unreal Engine 4, Unity, Windows, Linux, MacOS, SVN, git, Perforce, OpenGL, DX11, Vulkan
Implemented the NPR surface shading model in use by most objects in the game. Developed and optimized a system for rendering dynamic, large-scale clouds. Miscellaneous graphics tasks, and extensive optimization.
Implemented a modern GPU hardware abstraction layer with multiple backends, a forward+ renderer with a PBR shading model, and designed and implemented a custom scripting language.
Developed a high-level shading language and system for processing and translating input shaders written in a subset of C++11 to various platform-specific shader languages. Implemented high-quality fur rendering.
Ported engine to Linux and did additional work for rendering out high quality images at print resolutions as a backend service.
Graphics programming for iOS version – developed optimized material shaders and renderers for multiple iOS device classes, a pipeline for automatic and manual authoring of platform-specific versions of assets, and implemented a build-time light and ambient occlusion baking system.
Graphics programming for iOS and Android/Amazon versions, ported and optimized console shaders for mobile GPUs, implemented a build-time light and ambient occlusion baking solution.
PS3 Edge-based motion blur implementation, platform-specific rendering bug fixes and optimizations (especially on PS3 and WiiU), Photoshop batch layer export script (automates exporting PSD layer groups to multiple files).
Ignition Engine programming, material shaders, post- processing shaders, Smart TV version general porting and graphics programming, OpenGL capture and playback solution for debugging, Maya/Max export pipeline work, integrated an internal light-mapping solution.
Ignition Engine programming (lightweight, entity-component engine), material shaders, post-processing shaders, game-specific tools programming, Maya export pipeline work.
Core gameplay, UI programming, developed 3DS Max plugin to annotate models with bounding box information.
Core gameplay, memory and performance optimization, memory leak tracking, DS Download Play ROM.
Physics, navigation, and pathing implementation.
Nintendo DS Download Play ROM, jackhammer minigame, gameplay.
Memory usage/fragmentation reduction, memory leak tracking, gameplay programming.
Mesh-based navigation/collision solution, extensive gameplay programming, game system design and implementation, DS Download Play ROM.
Initial implementation of core gameplay and minigames.
User feedback/interface programming and visual effects programming.
BLSL is a high-level shading language I'm working on. The intent is to fill the middle ground between languages like Cg and FX that force the user to fit into a rigid framework, and platform-level languages which offer little/nothing in the way of solving application-level problems.
LaminaFS is an asynchronous, virtual overlay filesystem. It supports user-defined "devices" for mounting archives, network paths, or whatever, and comes with a "directory" device out of the box.
Dib is a build system designed to leverage the Haskell language's features (build scripts are written in Haskell) while being more flexible and easier to use than systems like GNU make. Contrary to most build systems, it is a forward build system, meaning that products are defined from their pieces and built in the natural direction versus as an implicit graph driven by production rules.
2A03 is a minimalist synthesizer based around the features present in the NES CPU of the same name. Songs are compiled from a high-level assembly language into bytecode that is then interpreted by the synthesizer.
Libwaffle is a light-weight, modular synthesizer library that utilizes JACK for output and includes OSC support.
LuaGame is a rapid development tool for games that is based around the Lua programming language, SDL, and OpenGL.
Poster at i3D 2009. Collaboration with Daniel Nottingham and Barbara Cutler. Presented our work on combining SSAO with NPR shading.