This renderer is a university project in full c++! The first step were driven by labwork but we were rapidly free to continu and improve ourself the renderer. So I added antialiasing, sphere tracing and a path tracing technique which is using a Monte Carlo method on the rays to get global illumination and caustiques with fractals.
You can see some render that I made below:
Last image is pathtraced sponza 1920x1080 with 10k samples per pixels with only diffuse lambertian materials. It was done in Vulkan twice using ray-tracing pipeline extension and ray query extension allowing to use the GPUs ray-tracing hardware accelerations. Computed in ~160 secondes on a NVIDIA RTX A40 GPU.
I made this project at the beginning of my computer science studies in 2020 to understand the basics of the 3D rendering. The objective was to only use the SDL library and the "draw pixel" function only in C.Â
Github link: https://github.com/hugo-bec/rendu3d-fdf/