BabyRay is an example of openGl 2D ray tracing. It was inspired from here.
Since this is just a learning project, performance isn't great and support is limited to circle-ray and line-ray interactions.
Credit and Resources:
https://www.taylorpetrick.com/blog/post/2d-ray-tracing