I build this ray tracer engine in C++ demonstrated a recursive ray tracing algorithm for rendering a scene made up of 3D primitives. This method stands in contract to traditional rasterization-based approaches which are typically supported by accelerated graphics hardware and used in real-time games.
Ray tracing uses the simple idea that every pixel’s colour can be calculated by firing a series of rays from the camera out into the scene. To calculate shadows, another ray can be fired from a surface to the light source to see if any object is occluding it.
More advanced effect as reflection and refraction can be simulated by reclusively tracing additional rays, originating at the point of previous intersections.
Currently I am still working on the ray tracing engine to trace not only planes and spheres as 3D primitives.
The source-code can be found on https://github.com/goblinnl/Phonics-Engine