hhergeth / CudaTracerLib

A library for ray tracing based rendering algorithms using CUDA
GNU General Public License v3.0
50 stars 9 forks source link

Examples

CudaTracerLib

Introduction

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.

Building from Source

Examples of how to use this library and an implementation of a custom rendering algorithm can be found in the Github wiki.

Remarks

Acknowledgements

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.

License

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/.