
Above is the image generated from checkpoint 4. Since checkpoint 4 was a lot easier than previous checkpoint, I also took the time to multi-thread the application and add supersampling. Both of these options were used when generating the image above.

Above is a comparison of the generated image with and without supersampling. The left image has super sampling and the right image does not.
After running some tests, it is clear that multi-threading the application yielded very good results. To generate the image above on my dual core laptop without multithreading, it took 98.34 seconds. To generate the image above with multi-threading, it took 50.80 seconds. A significant improvement!