Since I got my new laptop, I have been working on a personal project creating a simple, easily extendable raytracer.

I have got it working so far, but at the moment it doesn’t do too much. I have sphere and plane rendering working and saving to TGA images. The whole thing should look a lot better once I add anti-aliasing, shadows, reflections, refractions, shading and different types of objects. For now here is a picture showing what it can do at the moment. (Currently only orthogonal projection is supported). Not bad for a day and a half of work!

Doesn’t really look too great at the moment because the raytracer doesn’t support shading or perspective projection, but these should be added in the next couple of days.

I am really excited to be writing a raytracer, but I am going to have to force myself to have some time off at some point (because a ray tracer is never done!) to work on some other projects. This project has only been tested on OSX Snow Leopard but should be cross platform if the bitmap creation libraries are recompiled for a different platform. I may post code later at some point, but the image saving code is not mine and I will have to check the license conditions.

More updates to come soon.