This is possibly one of the simplest ray tracer, written not to technically achieve anything, but to understand the basic theory. This code is minimal, written in C, uses just the algorithms needed to trace, very less pointers usage, intentionally brute force, and no use of any external libraries other than ones which come packaged with GCC by default. The code implements the following lighting models: ambient, diffuse, specular, hard shadows, reflections and one sided refractions. Please find the github link after a sample output, it is shared with the most relaxed license.
This was done for a one day workshop at BITS Pilani Hyderabad Campus few days ago (for their technical fest ATMOS). The challenge was to teach introduction to computer graphics and the basic theory of ray tracer, in one day, to a wide range of undergraduate students who may not be coming from a computer science background. I hope the students gained something and found it interesting.
Our team: Adi Shayan, Sneha Venkatraman, Yash Agrawal, Shiben Bhattacharjee, Naveen Kumar, Nitish Tripathi