Programming language: F#
In correlation with the Second Year Project: Software Development in Large Teams with International Collaboration course, we were tasked with creating a ray tracer API. This is a software program that is able to render 3D shapes.
One of the main issues, with creating such a program is, that it must be extremely effective. The program must, within a couple of seconds/minutes, be able to render hundreds of thousands or millions of shapes, while making sure that each of their shadows, reflections and colours are rendered correctly. Furthermore it will be a challenge to set up an effective acceleration structure, that enables the program to quickly build the data structure and to quickly locate the data again, when drawing the shapes. Finally we had to create efficient hit-functions for a variety of shapes. All of this was done within a functional paradigm.maj 29, 2017