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.

Rasterizr

Meshellator (2010)

A mesh import library, currently supporting 3DS and OBJ formats.

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).

Idx3dsharp

AwesomeGame 2 (2008)

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

Awesomegame2

Particle Physics (2008)

An implementation of the ideas in Andrew Witkin's paper Physically Based Modeling Particle System Dynamics.

Particlephysics

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.

Rasteracer

AwesomeGame (2007)

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

Awesomegame

APE# (2007)

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

Apesharp

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.

Torq2

Freestyle Revolution (2004)

Top-down driving game that I wrote with my then-housemate Jason Heuclin.

Mouldcar

Torq (2004)

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

Torq

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.

Robosharp1

Robosharp2