“Embree: a kernel framework for efficient CPU ray tracing” by Wald, Woop, Benthin, Johnson and Ernst
Conference:
Type(s):
Title:
- Embree: a kernel framework for efficient CPU ray tracing
Session/Category Title: Hardware Systems
Presenter(s)/Author(s):
Moderator(s):
Abstract:
We describe Embree, an open source ray tracing framework for x86 CPUs. Embree is explicitly designed to achieve high performance in professional rendering environments in which complex geometry and incoherent ray distributions are common. Embree consists of a set of low-level kernels that maximize utilization of modern CPU architectures, and an API which enables these kernels to be used in existing renderers with minimal programmer effort. In this paper, we describe the design goals and software architecture of Embree, and show that for secondary rays in particular, the performance of Embree is competitive with (and often higher than) existing state-of-the-art methods on CPUs and GPUs.
References:
1. Aila, T., and Laine, S. 2009. Understanding the Efficiency of Ray Traversal on GPUs. In Proceedings of High-Performance Graphics, 145–149. Google ScholarDigital Library
2. Benthin, C., and Wald, I. 2009. Efficient Ray Traced Soft Shadows using Multi-Frusta Tracing. In Proceedings of High-Performance Graphics, 135–144. Google ScholarDigital Library
3. Benthin, C., Wald, I., Woop, S., Ernst, M., and Mark, W. R. 2012. Combining Single and Packet-Ray Tracing for Arbitrary Ray Distributions on the Intel MIC Architecture. IEEE Transactions on Visualization and Computer Graphics 18, 9, 1438–1448. Google ScholarDigital Library
4. Bigler, J., Stephens, A., and Parker, S. G. 2006. Design for Parallel Interactive Ray Tracing Systems. In Proceedings of the IEEE Symposium on Interactive Ray Tracing, 187–196.Google Scholar
5. Dammertz, H., Hanika, J., and Keller, A. 2008. Shallow Bounding Volume Hierarchies for Fast SIMD Ray Tracing of Incoherent Rays. In Proceedings of the 19th Eurographics Conference on Rendering, 1225–1234. Google ScholarDigital Library
6. Ernst, M., and Greiner, G. 2008. Multi Bounding Volume Hierarchies. In Proceedings of the IEEE / Eurographics Symposium on Interactive Ray Tracing, 35–40.Google Scholar
7. Glassner, A. 1989. An Introduction to Ray Tracing. Morgan Kaufmann. Google ScholarDigital Library
8. Grünschloss, L., Stich, M., Nawaz, S., and Keller, A. 2011. MSBVH: An Efficient Acceleration Data Structure for Ray Traced Motion Blur. In Proceedings of High-Performance Graphics, 65–70. Google ScholarDigital Library
9. Havran, V. 2000. Heuristic Ray Shooting Algorithms. PhD thesis, Department of Computer Science and Engineering, Faculty of Electrical Engineering, Czech Technical University in Prague.Google Scholar
10. Karras, T., and Aila, T. 2013. Fast Parallel Construction of High-Quality Bounding Volume Hierarchies. In Proceedings of High-Performance Graphics, 89–99. Google ScholarDigital Library
11. Kensler, A., and Shirley, P. 2006. Optimizing Ray-Triangle Intersection via Automated Search. In Proceedings of the IEEE Symposium on Interactive Ray Tracing, 33–38.Google Scholar
12. Kensler, A. 2008. Tree Rotations for Improving Bounding Volume Hierarchies. In Proceedings of the IEEE Symposium on Interactive Ray Tracing, 73–76.Google ScholarCross Ref
13. Laine, S., Karras, T., and Aila, T. 2013. Megakernels Considered Harmful: Wavefront Path Tracing on GPUs. In Proceedings of High-Performance Graphics, 137–143. Google ScholarDigital Library
14. Lauterbach, C., Garland, M., Sengupta, S., Luebke, D., and Manocha, D. 2009. Fast BVH Construction on GPUs. In Computer Graphics Forum: Proceedings of Eurographics, 375–384.Google Scholar
15. Parker, S. G., Bigler, J., Dietrich, A., Friedrich, H., Hoberock, J., Luebke, D., McAllister, D., McGuire, M., Morley, K., Robison, A., and Stich, M. 2010. OptiX: A General Purpose Ray Tracing Engine. In ACM SIGGRAPH 2010 Papers, 66:1–66:13. Google ScholarDigital Library
16. Pharr, M., and Humphreys, G. 2004. Physically Based Rendering: From Theory to Implementation. Morgan Kaufman. Google ScholarDigital Library
17. Pharr, M., and Mark, B. 2012. ISPC – A SPMD compiler for high-performance CPU programming. In Proceedings of Innovative Parallel Computing, 1–13.Google Scholar
18. Reshetov, A., Soupikov, A., and Hurley, J. 2005. Multi-Level Ray Tracing Algorithm. In ACM SIGGRAPH 2005 Papers, 1176–1185. Google ScholarDigital Library
19. Stich, M., Friedrich, H., and Dietrich, A. 2009. Spatial Splits in Bounding Volume Hierarchies. In Proceedings of High-Performance Graphics, 7–13. Google ScholarDigital Library
20. Wald, I., Benthin, C., and Slusallek, P. 2002. OpenRT – A Flexible and Scalable Rendering Engine for Interactive 3D Graphics. Tech. rep., Saarland University. Available at http://graphics.cs.uni-sb.de/Publications.Google Scholar
21. Wald, I., Benthin, C., and Slusallek, P. 2003. Distributed Interactive Ray Tracing of Dynamic Scenes. In Proceedings of the IEEE Symposium on Parallel and Large-Data Visualization and Graphics, 11–20. Google ScholarDigital Library
22. Wald, I., Benthin, C., and Boulos, S. 2008. Getting Rid of Packets: Efficient SIMD Single-Ray Traversal using Multi-branching BVHs. In Proceedings of the IEEE / Eurographics Symposium on Interactive Ray Tracing, 49–57.Google Scholar
23. Wald, I. 2004. Realtime Ray Tracing and Interactive Global Illumination. PhD thesis, Saarland University.Google Scholar
24. Wald, I. 2007. On fast Construction of SAH-based Bounding Volume Hierarchies. In Proceedings of the IEEE / Eurographics Symposium on Interactive Ray Tracing, 33–40. Google ScholarDigital Library
25. Wald, I. 2012. Fast Construction of SAH BVHs on the Intel Many Integrated Core (MIC) Architecture. IEEE Transactions on Visualization and Computer Graphics 18, 1, 47–57. Google ScholarDigital Library