I’ve been working on a graph-based synthesizer for some time, as part of my larger live coding project.
I contributed a pair of scopes to the latest version of Sonic Pi 3.2, which has now shipped.
Jorvik is my current Code & Coffee project. It is intended to be a live shader editing tool for Algorave and Interactive applications.
Zep is a lightweight editor, designed to be used inside a 3D engine.
I currently work on the Nsight Graphics Team at NVIDIA.
Easy Render is a lightweight sample of how to do simple CPU drawing to a Windows Window.
Implementing Game of Life is a classic programming challenge.
Recognizing gestures for a spell casting game idea.
Mgfx is a teaching framework I’ve used at York Developers. It has a simple support for building 2D and 3D applications in C++, with cross platform support.
Most graphics programmers have played with Voxels/Minecraft style of rendering.
At the York Code Dojo, we spent an evening writing a connect 4 player. We pitched the results against each other to see which could play the best.
Generating Mazes in code is a fun challenge.
Every graphics engineer should write a ray tracer at some point. I’ve done this a couple of times in C++ and Python.
Understanding how Option Trades evolve over time is key to being able to trade them effectively.
Building a lisp interpreter is an interesting exercise, especially if you are new to functional programming.
Asteroids is a fun an easy game to build. This one is part of the MGFX teaching framework.
MapMindz was a little application I wrote for Microsoft Surface 1.
Boardz was a collection of turn based board games released for iPhone and iPad. It included a server, player matching & chat.
I like to tinker at Game Development occasionally; my hex planet app shown here is one such example.
NanoVg is a 2D Vector Library. I contributed a D3D backend to the effort - just for fun.
An early shader debugger for the DirectX Reference Rasterizer
To support our developers in implementing DXSAS shader semantics, I developed an example tool that implemented the SAS processing and allowed you to combine full screen effects.
At 3DLabs, I ran the DirectX Driver team. I worked on DirectX 2,3,5,7 and 8 drivers - mostly for Permedia & Glint chips.
FX Composer 2.5 is a powerful integrated development environment for shader authoring.
Texture Masking for Faster Lens Flare
NV Shader Linker was an attempt to build a traditional fixed function graphics pipeline using a series of shader fragments.
My first job at NVIDIA was writing a tool to enable developers to understand vertex and pixel shaders.