/BUAS-Pathtracer

C++ pathtracer written for Breda University of Applied Science academic year 2020-2021

Primary LanguageC++

BUAS-Pathtracer

image Raytracer_PtsTLvFzLg image image image Raytracer_LdgeBg9c2O

Description

This is a CPU pathtracer written as my second project in my first year at the Breda University of Applied Sciences' games programming course over the course of 8 weeks. Built using Visual Studio, .sln file is in the Raytracer folder.

Features

  • Realtime preview with camera controls and configuration
  • Bounding Volume Hierarchy acceleration structure based on Igno Wald's 2007 paper On fast Construction of SAH-based Bounding Volume Hierarchies, for triangle meshes and top level acceleration structure.
  • Tile-based multithreading
  • HDR environment maps
  • Spherical area lights
  • Next event estimation
  • Russian roulette path termination
  • Cosine hemisphere importance sampling
  • Mitchell-Netravali Reconstruction Filter
  • Stratified sampling
  • Nested dielectrics using a material stack
  • Tonemapped, sRGB corrected dithered output
  • microui based user interface
  • Render to bitmap