Low overhead path regeneration
Monte Carlo Path Tracing is a core light transport technique which is used for modern methods (like BDPT, MLT, VCM and others). One of the main challenge of efficient GPU Path Tracing implementation is inefficient workload caused by paths of different lengths; few threads process the long paths, while other threads are idle. A work distribution technique called “Path Regeneration” is commonly used to solve this problem. We introduce a novel GPU implementation of path regeneration technique called “in place block based path regeneration.” In comparison to previous approaches our algorithm possesses two main advantages: it has lower self-cost and it does not move any per-ray data along threads in memory, thus, our algorithm can be easily integrated to any advanced path tracing technique (like BDPT, MLT and other) or photon mapping. We tested our solution with path tracing using both CUDA and OpenCL.
Unable to display preview. Download preview PDF.
- 1.Gupta, K., Stuart, J.A., and Owens, J.D., A study of persistent threads style GPU programming for GPGPU workloads, in Proceedings of Innovative Parallel Computing, San Jose, CA, 2012.Google Scholar
- 2.Bogolepov, D., Ulyanov, D., Sopin, D., and Turlapov, V., GPU-optimized bi-directional path tracing, Proc. WSCG 2013, 24–28 June 2013, Plzen Czech Republic, pp. 57–60, ISBN: 978-80-86943-76-3Google Scholar
- 3.Lafortune, E.P. and Willams, Y.D., Bidirectiona lapth tracing, Proceedings of Third International Conference on Computational Graphics and Vizualization Techniques, 1993.Google Scholar
- 4.Hachisuka, T., Kaplanyan, A.S., and Dachsbacher, C., Multiplexed metropolis light transport, ACM Transactions on Graphics (TOG), Proceedings of ACM SIGGRAPH 2014. http://www.ci.i.u-tokyo.ac.jp/hachisuka/mmlt.pdfGoogle Scholar
- 5.Frolov, V., Kharlamov, A., and Ignatenko, A., Biased Global Illumination via Irradiance Caching and Adaptive Path Tracing on GPUs, Proceedings of GraphiCon’ 2010 International Conference on Computer Graphics and Vision, St. Petersburg, 2010, pp. 49–56.Google Scholar
- 6.Parker, S.G., Bigler, J., Dietrich, A., Friedrich, H., Hoberock, J., Luebke, D., McAllister, D., McGuire, M., Morley, K., Robison, A., and Stich, M., OptiX: A general purpose ray tracing engine, in ACM SIGGRAPH 2010 papers, ACM, NY, Article 66, 13 p.Google Scholar
- 7.Nocak, J., Havran, V., and Daschbacher, Path regeneration for interactive path tracing, in EUROGRAPHICS 2010, Short papers, pp. 61–64.Google Scholar
- 8.Van Antwerpen, Unbiased physically based rendering on the GPU, M.S. Thesis, The Netherlands: Delft University of Technology, 2011.Google Scholar
- 9.Davidovic, T., Krivanek, Ja., Hasan, M., and Slusallek, Ph., Progressive Light Transport Simulation on the GPU: Survey and Improvements, ACM Trans. Graph. 33, 3, Article 29 (June 2014), p. 19.Google Scholar
- 10.Wald, I., Active thread compaction for GPU path tracing, High Performance Graphics, 2011, pp. 51–58.Google Scholar
- 12.Novak, J., Global illumination methods on GPU with CUDA, MS Thesis: Ph. D. Thesis, Czech Technical University, Prague, 2009Google Scholar
- 13.NVIDIA Mental Ray, 2014. http://www.nvidia.com/object/nvidia-mental-ray.htmlGoogle Scholar