For anyone looking for a more gentle introduction into ray tracing, I'd also suggest The Ray Tracer Challenge (http://www.raytracerchallenge.com/) -- it walks you through building a simple recursive ray tracer in a test driven development manner.
I started with the RTC, and moved on to PBR - and converting my recursive tracer into a unidirectional path tracer was quite an adventure -- one that continues to this day.
For anyone looking for a more gentle introduction into ray tracing, I'd also suggest The Ray Tracer Challenge (http://www.raytracerchallenge.com/) -- it walks you through building a simple recursive ray tracer in a test driven development manner.
I started with the RTC, and moved on to PBR - and converting my recursive tracer into a unidirectional path tracer was quite an adventure -- one that continues to this day.