Sample spheres with single reflection (by Martin Bertrand)

Parting Words

Building a ray tracer has been the enlightening experience it was supposed to be; Even on such a small scale, it has revealed to the author a Pandora's box of avenues to explore, confident that a solid foundation has been established first. Even the implementation itself was educational as every addition to the program necessitated some form of refactoring, to be in tune with proper OOP techniques. 


Elegant programming is a challenge in itself: A performing application will remain a task that requires careful planning. The author will remind the reader that little attention has been given to improving the overall performance of the software,  as the main focus was to achieve results. The performance issue remains secondary at the moment, but will be addressed as more complex application will eventually necessitate such improvements to remain practical.  


Apart from the implementation, the other challenges of applying linear algebra concepts were also enlightening, and clearly worth pursuing as a topic in itself.


The realm of image rendering being virtually limitless, some avenues the author would like to pursue became obvious as he progressed: Refraction, texture mapping, polygon mesh development, will surely be addressed in the near future.