CUDA Path Tracer
A GPU path tracer built on CUDA, based on CIS 5650 at UPenn. It is rooted in physically-based rendering, loads glTF meshes and materials, and simulates light transport to produce soft shadows, caustics and depth of field.
The highlight renders use 5,000 samples per pixel or more, with up to 8 bounces per ray.
Visual features:
- Diffuse, glossy, perfectly specular and refractive BSDFs
- Stochastic sampled anti-aliasing
- Physically-based depth of field with a thin-lens camera
- glTF mesh loading with texture mapping
- HDR environment maps
- ACES and Reinhard tone mapping, gamma correction
Performance work:
- Stream compaction removes finished rays; in open scenes render time drops from 25.7 ms to 18.2 ms
- Bounding-box culling for glTF meshes, 20–40% faster on low- to mid-poly models
- Material sorting was measured too, and turned out slower on small scenes
Highlights
-
Duck-Doggy-Duck, 5,000 spp -
The Dragon Beneath Starlit Skies, 43,200 spp -
Shanghai Nights, 5,000 spp -
Stone Cat Guardian, 5,000 spp
Material shading
Anti-aliasing
Depth of field
Focal length 9.0, lens radius 0, 0.5 and 1.0
Lens radius 0.1, focal length 5, 8 and 15






















