Reflections are quite simple in a raytracer

A simple Lambert shader gives adds depth to our spheres. Lighting is proportional to the cosine of the angle between the light and the surface normal

We derive the equation to intersect a sphere and a ray from basic definitions