Ray Tracer

During graphics my sophomore fall, I created a ray tracer, featuring multiple light types, multiple material types (including reflective and refractive), shadows, and texture mapping. The ray tracer uses an octree acceleration structure allowing for logarithmic time intersection checks. The ray tracer is able to render implicit primitives including spheres, cylinders, and cubes, as well as meshes.