In this project we programmed a simple raytracer that implements hard and soft shadows, reflection, refraction, phong shading, light bloom, motion blur, and anti-aliasing. Rendering is accelerated using bounding volume hierarchies.
Some standard meshes rendered using the raytracer are shown below.
Rendering the Cornell box using soft shadows and reflections
Phong specular highlights
Refraction through a translucent sphere
Bloom filter for high light intensity on the Stanford dragon
Motion blur along a vector towards the dragon
Visualizing the BVH nodes at level 6