This library, for simplicity called CudaTracerLib, is a CUDA based ray tracer library implementing standard rendering algorithms like Path Tracing, Progressive Photon Mapping, Bidirectional Path Tracing and many more. For ease of usability the library is compiled as an executable with a minimalistic main loop which uses the Mitsuba file loader to render most of the scenes found here.
Examples of how to use this library and an implementation of a custom rendering algorithm can be found in the Github wiki.
I would like to thank Wenzel Jakob for allowing me to use a lot of his work from Mitsuba - http://www.mitsuba-renderer.org. This includes the general interfaces and implementation of the BSDF
, Emitter
, Sensor
classes. Furthermore I have used his MicrofacetDistribution
and RoughTransmittance
classes as well as the design of the SamplingRecord
classes.
Thanks to Timo Aila and Samuli Laine for their research on BVH ray traversal on CUDA GPUs in Understanding the Efficiency of Ray Traversal on GPUs. I have used slight modifications of their code for the BVH computation as well as the traversal.
This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License Version 3 as published by the Free Software Foundation. You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.