Projects
I ♥ open source. Here are some of the things I've done.
Rasterizr (2010)
A software rasterizer written from scratch in C#. Since software rasterizers have limited use in real products, I have emphasised code clarity over performance, with a view to writing some tutorials about rolling your own rasterizer. Again, I don't expect anybody will really use their own rasterizer, but personally I find it very useful to know what's going on under the hood. The API is closely modelled on Direct3D 10. It's still in development but it will be open source when it's done, and I'll post a link to the source code here.

Meshellator (2010)
A mesh import library, currently supporting 3DS and OBJ formats.
- Source Code (.NET 4.0 Client Profile)
IDx3DSharp (2009)
A .NET port of idx3d, a Java software rasterizer. As you can see from the screenshot, I didn't finish the port, but I learnt enough to move on to my own software rasterizer (Rasterizr, above).
- Source Code (.NET 4.0 Client Profile)

AwesomeGame 2 (2008)
The "sequel" to AwesomeGame, written with some friends during a second "geekathon" coding weekend.
- Source Code (XNA 3.0)

Particle Physics (2008)
An implementation of the ideas in Andrew Witkin's paper Physically Based Modeling Particle System Dynamics.
- Source Code (XNA 4.0)

Rasteracer (2008)
Hybrid Ray Tracing / XNA renderer which I originally blogged about here. Very simple implementation, more a proof of concept than anything useful. It renders XNA into a WinForms control, and switches to ray tracing if you leave the mouse stationary.
- Source Code (XNA 4.0)

AwesomeGame (2007)
An unfinished car game some friends and I created during a "geekathon" coding weekend.
- Source Code (XNA 4.0)

APE# (2007)
Port of the ActionScript Physics Engine (APE) into C#.
- Source Code (.NET 4.0 Client Profile)

Torq2 (2006)
Overly ambitious attempt at writing a car game with an infinite terrain (using geoclipmapping). At least it taught me a lot about GPU programming.
- Source Code (XNA 4.0)

Freestyle Revolution (2004)
Top-down driving game that I wrote with my then-housemate Jason Heuclin.
- Source Code accidentally deleted from both of our hard drives :(

Torq (2004)
Car game that I made for my final year university project.
- View Project Report (4.4Mb)

RoboSharp (2003)
.NET port of Robocode, a Java tank battle simulator. This project won me an original Xbox, which as a poor student I was very happy about.
- Source Code (.NET 4.0 Client Profile)

