This raytracer was written entirely by me in c++ and opengl. It can handle reflection and refraction, along with texture maps and soft shadows from area lights. It implements a surface area heuristic kd-tree which greatly speeds up render times, especially for complex scenes. It also implements adaptive sub-pixel sampling based on Vray's, to quickly resolve soft shadows, texture filtering and anti-aliasing without the tweaking of too many parameters. Sample locations are determined using a generated Sobol sequence for added efficiency. It makes use of the wonderful open-MP api to run on up to sixteen cores at once, and renders in buckets, updating in real time as they complete.