There’s loads of articles on the web about building raytracers so I thought I’d bring together some links to the ones that I’ve found most interesting and useful.
First off is a set of tutorials from codermind.com which are probably some of the most linked raytracing resources on the web.
There are a number of tutorials on this page starting with the very basic description of what a raytracer does and working through from diffuse lighting models, phong models an eventually to raytracing ISO surfaces. There’s loads of interesting information and pseudocode here and I’d strongly recommend having a good look around.
Once you’ve looked through this site of course! :).
If you want to look at the cutting edge of realtime raytracers take some time to look through the work of Cyrille Favreau. He’s been building a realtime raytracer using OpenCL which has got some pretty damn decent results.
The advantage of using something like OpenCL is that you’ve got full access to all the computing power of the GPU at your fingertips so you can actually do realtime video captures of complex scene rendering.
I’m mighty impressed, not least because some raytracing algorithms take quite a bit of effort to get running on a GPU. Hats off, this is an impressive piece of kit.
Next up, how can I possibly ignore wikipedia’s very own article on raytracing. This is a decent resource to use for understanding the basics of raytracing, and far more complex topics too.
It’s also got some lovely renders from various systems around the world. The opening spherical marble graphic is one of my favourite simple sphere renders of all time, you’ve got to love those pastel colours.
One day I might even get round to contributing on that page. Good SEO innit.
Next up another interesting resource which although old, and dated, covers the fundamental maths you’ll need to put a raytracer together. Take note that this is written back in 1999 so misses a lot of the more modern techniques that people get obsessed about, but the principles of a simple raytracer haven’t changed since raytracing was first invented.
This does assume a certain level of knowledge before you get going but along with simple to follow descriptions it also has a set of decent images to illustrate the general principles of raytracing..
And that completes my roundup for now. I’ll come back and link some more articles in the future, let me know if you found this helpful.