As an advanced computer graphics course project, I wrote a Monte Carlo path tracer in C++. This path tracer implements:
- Diffuse, Glossy, ideal specular and Fresnel refractive BSDFs
- Global illumination with direct and indirect components
- Importance sampling for Lambertian and Phong reflections
- Russian roulette path termination
- Image based lighting support
Code available on GitHub upon request.