Monte Carlo Path Tracer


CUDA, OpenGL

Path tracing is a computer graphics Monte Carlo method of rendering images of three-dimensional scenes such that the global illumination is faithful to reality.
Features
Kernel with BSDF Evaluation, Uniform diffuse,Perfect specular reflective (mirror), specular refractive (Fresnel dielectric), Path Continuation/Termination with Stream Compaction, Toggleable Sorting of ray Paths by material type, Toggleable first bounce intersection cache to be used by subsequent iterations, Anti-aliasing rays with sub-pixel samples, Arbitrary OBJ Mesh Loading with toggleable 7 Plane Bounding Volume intersection culling, Camera depth of field, Procedural Structure, Procedural Texture, Subsurface Scattering (In Progress)