I have implemented a recursive ray tracer that uses a phong illumination model with multiple lights sources, distance attenuation, refractions, and shadows. The antialiasing method used is stochastic supersampling from a 2D Normal distribution. In order to speed things up I used a k-d Tree as an acceleration data structure as well as OpenMP for multi-threading, note you may need to enable OpenMP in Visual Studio to take advantage of multiple cores.
Inorder to compile the code you first need to unzip the fltk-1.3.3.7z
file into the root of the project. Then open the ray.sln
file and make the project. There is a preexisting ray.exe file in the Release
folder that you can use, it may or may not work for you with out compiling the project.