Render times were measured using std::chrono::high_resolution_clock and only include time to render,
ie. time to load the scene and write the images to disk is ignored. Both images were rendered with 8 threads and
8x8 blocks with one sample taken per pixel.
The random block ordering I implemented in project 2 is neat but not so great
if you want to have coherent memory access, so I migrated to the
Z-order mentioned by Ian on the discussion board.
Below is a slowed down video of the box scene for this project rendering with this new ordering. I
did also implement the spiral from center ordering but as you get to the edges of the image it starts to lose locality,
so I think the Z-order is a bit better.