C++ Pathtracer

C++ | Windows

My project for the Aalto University Advanced Computer Graphics course in Spring 2023. The course curriculum included three mandatory assignments with optional extras. Course materials provided rendering framework for scene loading, window setup etc and some general comments or boilerplate functions to write your own implementation to.

The implementations and extras I did included:

  • BVH construction, traversal and optimizations
  • BVH saving and loading
  • Texturing
  • Ambient occlusion
  • Multithreading
  • Area Light Source
  • Radiosity
  • Quasirandom Monte Carlo Sampling
  • Pathtracer with direct light, shadows and bounced indirect light
  • Russian roulette
  • Own scene for rendering competition

Some additional extras I studied during the course, but not included within the deadline for the competition:

  • Morton codes for BVH construction and traversal
  • BRDF importance sampling and additional materials
  • Bi-directional path tracing and caustics

Final grade from the course 5/5

Course is still running in Aalto with similar assignments, so I’m happy to send my code for review but asked not to put it publicly available in GitHub.