Skip to content

steveschwarcz/Cuda-Path-Tracer-SS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Path Tracer SS

Cuda Path Tracer

Youtube link

alt text

alt text

alt text

alt text

This is a simple Path Tracer written in CUDA C/C++

It currently features:

  • Iterative Path tracing with next-event estimation
  • Stream compation for rays
  • Importance sampled Lambert, Phong, and Cook-Torrance shaders
  • Antialiasing through jittering
  • Area and point lights
  • Reflection, refraction with absorbance

Vector math was handled through the glm library. The project also made use of the GPUAnimBitmap class from the book "CUDA By Example", by Jason Sanders and Edward Kandrot.

There's still several more features slated, including obj suport, use of a spatial data structure (BVH or k/d tree), color/normal mapping, and possibly bidirectional Path Tracing, along with a better control scheme.

All of the above images were taken running with a GTX 760, with an average of 30-45 rays per second. The images were taken at roughly 2000 rays per pixel each.

Usage

Controls are as follows:

  • Space: switch between path tracing and ray tracing mode (ray tracing mode is very minimal)
  • W/A/S/D : Move camera Forward/Left/Backwards/Right
  • T/F/G/H : Rotate camera Up/Left/Down/Right
  • Q/E: Move camera up/down
  • 0: Save image (saved in renders folder)

About

A Path tracer written in CUDA

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published