Ray Tracer

In 2001 I had the privilege of being taught by Kevin Suffern. In the subject, Computer Graphics Rendering Techniques, we learnt the principles of computer graphics rendering and particularly focused on ray tracing.

This subject forced me to take a very interesting concept of bouncing rays around a scene using simple mathematics and realise it through programming our own ray tracer.

I wrote my ray tracer in Objective-C for Mac OSX. At this time, Mac OSX was fairly immature particularly in terms of its developer documentation. While this brought challenges of its own, it enabled me to quickly develop a simple UI where different properties of the scene could be manipulated using standard GUI controls.

All of the scenes were specified as XML property lists. Some of the more procedural scenes were generated using a PERL script and then loaded into the ray tracer.

Download the source for review purposes only. All material on this site is copyright.


Following is some of the images that were rendered by my ray tracer.

5 Spheres Fractal Prism Lava Lamp Cone of spheres Cube of spheres Spiral of spheres Transparent Box Transparent Sphere Transparent Torus Table Pool Reflection, refraction and shadows GUI Screen Shot


Following is some of the movies that were rendered by my ray tracer.

Transparency Movie
Texture Mapping Movie
Lighting Movie