Sphere intersections and ray viewing seem to be working. Needs a bit of cleanup.