GPU Pathtracer
An experimental GPU Pathtracer, in collaboration with Peter Kutz
Overview
For our spring 2012 CIS565: GPU Programming final project, my friend Peter Kutz and I developed a prototype, experimental GPU pathtracing renderer using NVIDIA's CUDA language and toolset. The purpose of the project was the explore the feasibility of building high performance, unbiased, physically based renderers using massively parallel architectures such as NVIDIA GPUs, and to inform future projects. Much of the experience and knowledge gained in this project has since been reapplied to my Takua Render project.
Features
Select Images and Videos
Acknowledgements
This project would not be possible without the guidance of Patrick Cozzi, the instructor for CIS565 in the spring of 2012, and also Dr. Joseph T. Kider. We would also like to thank CIS565 TA Varun Sampath. Friends Gabriel Leung, Xing Du, and Dan Knowlton acted as sounding boards for various ideas and discussed ideas. Finally, and most importantly, I have to thank Peter Kutz for being a brilliant partner on this project.
Project Blog Posts
Our progress updates for our experimental GPU pathtracer were posted to our project development blog, Peter and Karl's GPU Pathtracer Blog. The following posts detail the development of this project. Posts are listed starting with the most recent:
Resources
In the process of building our renderer, we have drawn upon the following papers, books, and articles. They are listed in no particular order.
CIS565 GPU Programming Notes: The class notes and slides for CIS565: GPU Programming, created by instructor Patrick Cozzi and TA Varun Sampath.
Active Thread Compaction for GPU Pathtracing: Ingo Wald's 2011 paper on thread compaction as an acceleration technique for GPU pathtracing.
Reflections and Refraction in Raytracing: A paper detailing the math behind reflection and refraction, by Bram de Greve.
Writing A Pathtracer: An incomplete, but nonetheless useful primer on some basic pathtracing concepts, by Nikita Nikishin.
Wikipedia Pathtracer Article: A fairly concise description of the pathtracing concept.
Ray Tracey's Blog: Sam Lampere (Ray Tracey)'s blog following the development of OTOY's Brigade Engine.





