This project was another piece for my Graphics module at University. We were tasked with created a Ray casting and Ray tracing program using OpenGL in C++ using GLUT, that would draw 3 coloured spheres in a scene using the previously mentioned techniques.
My solution expanded on the original task, by adding materials to the spheres, and creating multiple scenes in which the objects would be rendered. As well as adding extra features behind the scenes, that would make the system more efficient at runtime.
During this project, I learnt about the techniques of drawing scenes using purely Raycast and Raytracing methods. Drawing scenes via Raycasting facilitates quick rendering speeds, however the drawn scenes lack any reflections or reflected light.
Rendering scenes using Raytracing techniques allows the scenes to have far more realistic lighting, which is shown by the video. The reflections on each object are an example of this, as each of these objects are set to be reflective to show off this feature. Furthermore, rendering using Raytracing allows none-direct lighting off other objects, for example light can bounce around corners to partially light objects that can't directly be lit by the light source.