An interesting thing you might note is the glass balls don’t really have shadows which makes them look like they are floating. This is not a bug — you don’t see glass balls much in real life, where they also look a bit strange, and indeed seem to float on cloudy days. A point on the big sphere under a glass ball still has lots of light hitting it because the sky is re-ordered rather than blocked.

A C++ raytracing implementation based on Ray Tracing in One Weekend.
cmake -B build
cmake --build buildbuild\Debug\raytracer.exe > image.ppm- Spheres with materials (lambertian, metal, dielectric)
- Camera with adjustable field of view and depth of field
- Anti-aliasing
- Random scene generation
