Get Firefox Get Thunderbird


Various bits and pieces that I've written in my spare time over the last few years. Unfortunately a lot of my recent work has been written using our inhouse libraries as they're currently very mature and allow very rapid R&D. I'm trying to figure out a way of publishing the source code on this site without being bombarded by legalities, although I can't promise anything soon.

Spherical Harmonic Rotation (July, 2004) - Generation of SH Rotation Matrices from an input 3x3 matrix. Uses methods derived by Ivanic/Ruedenberg and Choi.

Spherical Harmonic Lighting (June, 2003) - Global Illumination approximation using Spherical Harmonics to compress PRT results on a per-vertex level. Executable requires (part of Paul Debevec's Light Probe Image Gallery.

Arc-length Paramaterisation (August, 2002) - Investigation into a myriad of ways for interpolating values along arbitrary curves at constant speed. Accompanying discussion and conclusion as to the best technique.

Real-time Physically Modelled Grass (October, 2001) - Using Verlet Integration to model invdidual blades of grass interacting with a controllable ball. Includes Rigid Body simulation with RK4 integrator, based on David Baraff's lectures.

Verlet Integration Test (October, 2001) - To accompany the grass test: modelling of a particle, stick and cloth to highlight the technique of verlet integration.

Compile-time Shader Assembler (December, 2002) - Partial implementation of an assembler written in C++ that compiles Pixel and Vertex shader fragments at compile-time, allowing much more efficient shader composition than using strings.

Huffman.c, Huffman.h, Main.c (June, 1999) - Memory-optimised huffman compression. Pretty simple, just doesn't perform any memory allocations.

Tahiti (March, 2000) - Game language based on C++/Java/UnrealScript, plus example steering demo (see file Bot.vmc).

Tahiti Source (March, 2000) - Complete source code to Tahiti. My first large C++ project so it's a bit messy!

Bezier-patch Landscape (December, 1999) - Landscape constructed out of a big net of bezier-patches.

2D Convex Hull Construction (January, 2003) - Light introduction to constructing convex hulls in 2D.

Ellipsoid Collision Detection (April, 2003) - Adaptation of the net-popular ellipsoid collision detection method, merging the point-in-poly test with the closest point-on-poly test for increased performance.

Quake Level Viewer, OpenGL, D3D (May, 2002) - Everybody's done one! Here's my hack for the day...

Terminal Pacity (June, 1997) - Shareware game I made at the age of 16. I still play it today :)

SDLApp (Ongoing) - SDL wrapper that allows me to test out new ideas quickly. Some of the above downloads need this to compile.



Based in the UK, born in Ireland. Hobbies include reading (politics, psychology, sociology, critical thinking, a bit of comedy), swimming, walking for hours on end and programming. I also make games for a living, and have done for the last 6 glorious (!) years.



I'm currently working at Full Fat (UK) developing technology PC, PS2, Xbox, PSP and next generation consoles (PS3 and XBox2). We have a growing team of top quality programmers and are looking for more to staff projects on multiple platforms. Here's some screenshots from our E3/ECTS 2003 technology demo:


The above renderer is DX 8.1 based, running on a GeForce 4 Ti (and we're looking for a DX9 programmer who thinks they can do better!). Sorry I can't show more recent developments. Contact me at the email address below if you're interested in more information.

Please visit the Full Fat Website for more details!



Email:   dondotdonwatcoat uk