3D Computer Graphics is my main area of interest. It has been the focus of both my career and study.

There are many areas to 'computer graphics' including animation, rendering, and compositing. As a programmer, I have acquired a strong understanding of vectors, matrices, transformations, co-ordinate spaces and many other fundamental concepts central to computer graphics.


Following is an outline of some of my work in this area.


One subject I undertook during my masters degree was 'Advanced 3D Computer Animation'. This subject required us to come up with an idea for a short animation, story board it, create an animatic, and then model, texture, animate and render the final animation. Its primary aim was animation however it provided me with a clear understanding of the conception to completion workflow.

Watch the animation

I received a mark of 97% for this subject.See Other Marks.

Maya Development

At both Digital Pictures and Team Bondi I have been required to develop both MEL scripts and C++ plugins for Maya. There are countless tools that I have written for 3D artists and also programmers to enable and facilitate various TVCs, Films and Games.

Some examples include:

  • Animation Export to a custom animation format
  • Contribution to open source exporters such as COLLADA
  • Various Particle Simulations
  • Spectral Analysis
  • Integration with external systems including hardware such as an Accom monitor or software such as Perforce
  • Industrial creation scripts such as cogs or geodesic domes
  • Workflow integration such as exporting models and generating thumbnail images
  • and much more...

Some specific Maya tools follow.

Modular Rig

While working at Digital Pictures. I developed a Maya tool to help animators rig their characters. This tool presented a GUI that allowed creation of entire bipeds or individual pieces of skeleton.

It provided a novel way to perform FK/IK blending with the ability to keyframe the blend value. The animator could decide when creating the rig whether or not FK, IK or both animation techniques were needed for each section or module of the rig.

It was very flexible giving the animator precise control over various attributes of the rig. This included the ability to specify the number of extra twist joints in the arms, or the number of spinal joints - both major (keyframed) and minor (procedural animation) and much more.

This tool was not only used in various TVCs at Digital Pictures, I also used it to rig the two iPods in my 'flat out'animation.

View Modular Rig in action

Download the modularRig.mel script for review purposes only.

Pose Toolbox

The pose toolbox was a tool I wrote while working at Team Bondi. This tool allows animators the ability to take simple snapshots of various poses when animating various different characters. It is useful when a particular pose is used across multiple animations or in a looping animation to ensure start and end frames exactly match.

It was written in a flexible way to allow poses to be interchanged across different body parts. For example, a left arm pose can be applied to a right arm with one click.

The Pose Toolbox

Slaterator - Tape Dubbing Slate Generator

In post production houses where video tapes are used extensively, creating a slate, or still frame with details about what's on the tape is extremely useful. Digital Pictures upgraded their existing slate machine from OS9 to OSX and needed to develop a new slate solution.

I developed a Cocoa application that could generate a slate and output it to any monitor detected by Mac OSX. One could set the background, font and precise position of the text for each slate. Each slate could be saved as a document for reuse at a later stage.

Slaterator Screenshot

Ray Tracer

In 2001 I undertook the subject 'Computer Graphics Rendering Techniques' in which I was required to program my own ray tracer.

Ray Tracer (in depth)

I received a mark of 93% for this subject.See Other Marks.

Fractal Mountains

For the subject 'Introduction to Computer Graphics', we were required to program a fractal mountain generator. These pictures were rendered using the generator. It was programmed in C on Mac OS9 using QuickDraw. The results are fairly remedial however quite pleasing for one of my first graphics programs.

Fractal Mountains

2D Affine Transformations

The first assignment for the subject 'Introduction to Computer Graphics', we were required to program some simple 2D affine transformations.

2D Transformations