Photon Mapping project for the course COL781 (2020).
g++ main.cpp light.cpp camera.cpp objects.cpp scene.cpp utils.cpp -lGL -lGLEW -lglfw -lgomp -fopenmp -o raytracer
Or use the make file in the repo.
./raytracer
- GLFW
- OpenMP
- Mesh files supported ( triangular faces only)
- Parallelization by openMP
- Ray tracing with soft shadows
- GlobalIllumination
- Caustics for glassy objects
- Primitives supported: box, trianlge, cylinder, plane and sphere
Direct
Soft Shadows
Global Illumination + Caustics
Global Illumination + Caustics + Soft Shadows
- Add GPU acceleration using CUDA
- Support XML file loading
kdtree+ by Martin F. Krafft libkdtree@pobox.madduck.net https://graphics.stanford.edu/courses/cs348b-00/course8.pdf https://www.cs.drexel.edu/~david/Classes/Papers/egwr96.pdf https://web.cs.wpi.edu/~emmanuel/courses/cs563/write_ups/zackw/photon_mapping/PhotonMapping.html www.scratchpixel.com and lighthouse3d.com for ray intersection tutorial https://github.com/kbladin/Monte_Carlo_Ray_Tracer for .obj files