This is a basic raytracer implmentation that supports transparent and reflective materials It is lacking global illumination, softshadows and multiple light sources
A scene is composed of primitives added to a shapes list and a light source
As is it generates 360 scenes to compose an animation
Here is an animation example shocasing opaque, reflective and transparent materials: