CUDA-Path-Tracer

CUDAC++Path Tracing
CUDA-Path-Tracer

Overview

CUDA-based Monte Carlo Path Tracer with physically-based rendering features including BVH acceleration, subsurface scattering, and HDR environment mapping.

Description

A GPU-accelerated path tracer implemented in CUDA that simulates realistic light transport through Monte Carlo integration. The renderer supports complex scene loading from JSON files and OBJ meshes, with BVH (Bounding Volume Hierarchy) acceleration for efficient ray-triangle intersection testing.

The path tracer implements multiple physically-based materials including diffuse, specular, refractive (with Fresnel effects), thin-film, and subsurface scattering using Henyey-Greenstein phase function sampling. HDR environment lighting is supported through equirectangular-to-cubemap conversion with bilinear filtering.

  • GPU path tracing with CUDA, featuring stream compaction and material-sorted shading for optimized warp coherence
  • BVH acceleration structure with recursive midpoint splitting for O(log n) ray-triangle intersection
  • Physically-based materials: diffuse, specular reflection, refraction with Schlick's Fresnel approximation, and thin-film dielectrics
  • Subsurface scattering (SSS) with two-exponential radius sampling and Henyey-Greenstein phase function
  • HDR environment mapping with lat-long to cubemap conversion and bilinear sampling
  • Depth of Field (DOF) simulation using thin lens model with configurable aperture and focal distance
  • Anti-aliasing through stochastic jittered supersampling
  • OBJ mesh loading with per-face materials and smooth vertex normals

    YK