Path tracer built from scratch in C++.
This path tracer was built using smallpt by Kevin Beason and the explanation slides by David Cline. This is very primitive path tracer with support to only Spheres and explicit lighting.
Learn more on my blog post in medium, explaining the theory and working of a path tracer.
4samples | 100samples |
---|---|
500samples | 5000samples |
---|---|
- Importance Sampling to probabilistically select a new ray to converge correctly to outgoing luminance on the surface point.
- Bidirectional Path Tracing that combines two distinctive approaches to sample the integral in the same algorithm to obtain faster convergence of the integral.
- Volumetric Path Tracing that extends the path tracing method with the effect to light scattering.
- Metropolis Light Transport a method of perturbing previously found paths in order to increase performance.