Projects

2016

HLSL Tools

A Visual Studio extension that provides enhanced support for editing High Level Shading Language (HLSL) files.

2014

Zia.js

Zia.js is an XNA-inspired, object-oriented, WebGL-based game framework.

2013

Gemini

Gemini is a WPF framework for creating IDE-like applications. It includes a number of modules that provide useful out-of-the-box functionality.

SlimShader

SlimShader is a Direct3D shader bytecode parser for .NET and C++. It includes a virtual machine, capable of executing HLSL shaders entirely on the CPU.

Rasterizr

A software rasterizer written from scratch in C#, capable of executing real HLSL shaders on the CPU.

2011

DotWarp

An open source server-side 3D renderer for .NET 4.0.

2010

DynamicImage

DynamicImage is a high-performance image manipulation library for ASP.NET.

DotLiquid

DotLiquid is a secure, open-source template engine for .NET. It is a .NET port of Ruby’s Liquid Markup.

XBuilder

A Visual Studio 2010 extension which helps with XNA 4.0 development.

Geomipmapping

An implementation of geomipmapping for XNA 4.0, based on W. H. de Boer’s algorithm.

StitchUp

An XNA 4.0 implementation of Shawn Hargreaves’ article Generating Shaders From HLSL Fragments.

2009

IDx3DSharp

A .NET port of idx3d, a Java software rasterizer.

2008

AwesomeGame 2

The “sequel” to AwesomeGame, written with some friends during a second “geekathon” coding weekend.

Particle Physics

An implementation of Andrew Witkin’s paper Physically Based Modeling Particle System Dynamics.

2007

AwesomeGame

An unfinished car game some friends and I created during a “geekathon” coding weekend.

APE#

Port of the ActionScript Physics Engine (APE) into C#.

2006

Torq2

Overly ambitious attempt at writing a car game with an infinite terrain using geoclipmapping.

2004

Freestyle Revolution

Top-down driving game that I wrote with my then-housemates Ian Ferguson and Jason Heuclin.

Torq

Car game that I made for my final year university project.

2003

RoboSharp

.NET port of Robocode, a Java tank battle simulator.