A simple raytracer made for univ, it's a back port of a realtime renderer into a offline one.
If you want to use this raytracer, DON'T. It's slow, not optimise and use a external lib to hack glsl into c++.
you will have a better time to check https://github.com/Cewein/nerv_pathtracer
it's a realtime pathtracer with lambert, glass and metal material, texture mapping, area light and many more things. run on non RTX hardware and use OpenGL + GLSL for fast rendering