Abstract
We introduce a novel primary visibility algorithm based on ray casting that provides real time performance and a feature set well suited for rendering virtual reality. The flexibility provided by our approach allows for a variety of features such as lens distortion, sub-pixel rendering, very wide field of view, foveation and stochastic depth of field blur to be implemented and composed naturally while maintaining real time performance. In contrast, the current rasterization pipelines implemented in hardware require multiple passes and/or post processing to approximate these features and current highly optimized ray tracers, which primarily focus on Monte Carlo path tracing, do not achieve real time performance on current VR displays ([email protected]). Our approach uses a bounding volume hierarchy acceleration and a two level frustum culling/entry point search algorithm to optimize the traversal of coherent primary visibility rays. We introduce an adaptation of MSAA for raycasting that significantly lowers memory bandwidth, we leverage an AVX optimized CPU traversal to perform the majority of culling and an optimized CUDA GPU implementation for triangle intersection, multi-sample antialiasing, and shading. The implementation provides support for animation and physically-based shading and lighting. We believe this approach presents a concrete, viable alternative to rasterization that is significantly better suited to rendering for virtual and augmented reality. In order to engage the community, we have released our implementation under an open-source license.
- Kurt Akeley. 1993. Reality engine graphics. In Proceedings of the 20th annual conference on Computer graphics and interactive techniques. ACM, 109--116. Google Scholar
Digital Library
- Carsten Benthin, Sven Woop, Matthias Niessner, Kai Selgrad, and Ingo Wald. 2015. Efficient Ray Tracing of Subdivision Surfaces Using Tessellation Caching. In Proceedings of the 7th Conference on High-Performance Graphics. 5--12. Google Scholar
Digital Library
- Nikolaus Binder and Alexander Keller. 2016. Efficient stackless hierarchy traversal on GPUs with backtracking in constant time. In Proceedings of High Performance Graphics. 41--50. Google Scholar
Digital Library
- Nathan A. Carr, Jesse D. Hall, and John C. Hart. 2002. The Ray Engine. In Proceedings of the ACM SIGGRAPH/EUROGRAPHICS Conference on Graphics Hardware (HWWS '02). Aire-la-Ville, Switzerland, Switzerland, 37--46. Google Scholar
Digital Library
- Robert L. Cook, Thomas Porter, and Loren Carpenter. 1984. Distributed Ray Tracing. SIGGRAPH Comput. Graph. 18, 3 (1984), 137--145. Google Scholar
Digital Library
- Holger Dammertz, Johannes Hanika, and Alexander Keller. 2008. Shallow Bounding Volume Hierarchies for Fast SIMD Ray Tracing of Incoherent Rays. In Proceedings of Eurographics Conference on Rendering (EGSR). 1225--1233. Google Scholar
Digital Library
- Tomáš Davidovič, Thomas Engelhardt, Iliyan Georgiev, Philipp Slusallek, and Carsten Dachsbacher. 2012. 3D rasterization: a bridge between rasterization and ray casting. In Proceedings of Graphics Interface 2012. 201--208. Google Scholar
Digital Library
- Joe Demers. 2004. Depth of Field: A Survey of Techniques. In GPU Gems. Addison-Wesley, 375--390.Google Scholar
- Kirill Garanzha and Charles Loop. 2010. Fast Ray Sorting and Breadth-First Packet Traversal for GPU Ray Tracing. In Computer Graphics Forum, Vol. 29. 289--298.Google Scholar
Cross Ref
- Jeffrey Goldsmith and John Salmon. 1987. Automatic Creation of Object Hierarchies for Ray Tracing. IEEE Comput. Graph. Appl. 7, 5 (1987), 14--20. Google Scholar
Digital Library
- Leonhard Gruenschloß, Martin Stich, Sehera Nawaz, and Alexander Keller. 2011. MSBVH: An Efficient Acceleration Data Structure for Ray Traced Motion Blur. In Eurographics/ ACM SIGGRAPH Symposium on High Performance Graphics. Google Scholar
Digital Library
- Brian Guenter, Mark Finch, Steven Drucker, Desney Tan, and John Snyder. 2012. Foveated 3D graphics. ACM Trans. Graph. 31, 6 (2012), 164. Google Scholar
Digital Library
- Jon Hasselgren and Tomas Akenine-Möller. 2006. Efficient Depth Buffer Compression. In Proceedings of the 21st ACM SIGGRAPH/EUROGRAPHICS Symposium on Graphics Hardware (GH '06). ACM, New York, NY, USA, 103--110. Google Scholar
Digital Library
- Warren Hunt and W. R. Mark. 2008. Ray-Specialized acceleration structures for ray tracing. IEEE Symposium on Interactive Ray Tracing 2008 00 (2008), 3--10.Google Scholar
Cross Ref
- Homan Igehy. 1999. Tracing Ray Differentials. In Proceedings of the 26th Annual Conference on Computer Graphics and Interactive Techniques (SIGGRAPH '99). New York, NY, USA, 179--186. Google Scholar
Digital Library
- Gregory S. Johnson, Juhyun Lee, Christopher A. Burns, and William R. Mark. 2005. The irregular Z-buffer: Hardware acceleration for irregular data structures. ACM Trans. Graph. 24, 4 (2005), 1462--1482. Google Scholar
Digital Library
- Tero Karras and Timo Aila. 2013. Fast Parallel Construction of High-quality Bounding Volume Hierarchies. In Proceedings of High-Performance Graphics Conference. 89--99. Google Scholar
Digital Library
- A. Keller, L. Fascione, M. Fajardo, I. Georgiev, P. Christensen, J. Hanika, C. Eisenacher, and G. Nichols. 2015. The Path Tracing Revolution in the Movie Industry. In ACM SIGGRAPH Courses (SIGGRAPH). Article 24, 24:1--24:7 pages. Google Scholar
Digital Library
- Gregory Kramida and Amitabh Varshney. 2016. Resolving the Vergence-Accommodation Conflict in Head-Mounted Displays. IEEE Trans. Visualization 8 Computer Graphics 22, 7 (2016), 1912--1931.Google Scholar
Cross Ref
- Oliver Mattausch, Jirí Bittner, Alberto Jaspe, Enrico Gobbetti, Michael Wimmer, and Renato Pajarola. 2015. CHC+ RT: Coherent hierarchical culling for ray tracing. In Computer Graphics Forum, Vol. 34. 537--548. Google Scholar
Digital Library
- Tomas Möller and Ben Trumbore. 1997. Fast, Minimum Storage Ray-triangle Intersection. J. Graph. Tools 2, 1 (1997), 21--28. Google Scholar
Digital Library
- Steven Molnar, Michael Cox, David Ellsworth, and Henry Fuchs. 1994. A Sorting Classification of Parallel Rendering. IEEE Comput. Graph. Appl. 14, 4 (1994), 23--32. Google Scholar
Digital Library
- Ryan Overbeck, Ravi Ramamoorthi, and William R Mark. 2008. Large ray packets for real-time whitted ray tracing. In Interactive Ray Tracing, 2008. RT 2008. IEEE Symposium on. IEEE, 41--48.Google Scholar
Cross Ref
- Steven G. Parker, James Bigler, Andreas Dietrich, Heiko Friedrich, Jared Hoberock, David Luebke, David McAllister, Morgan McGuire, Keith Morley, Austin Robison, and Martin Stich. 2010. OptiX: A General Purpose Ray Tracing Engine. ACM Trans. Graph. 29, 4, Article 66 (2010), 66:1--66:13 pages. Google Scholar
Digital Library
- Suryakant Patidar and PJ Narayanan. 2008. Ray casting deformable models on the GPU. In Computer Vision, Graphics 8 Image Processing, 2008. ICVGIP'08. Sixth Indian Conference on. IEEE, 481--488. Google Scholar
Digital Library
- Anjul Patney, Marco Salvi, Joohwan Kim, Anton Kaplanyan, Chris Wyman, Nir Benty, David Luebke, and Aaron Lefohn. 2016. Towards Foveated Rendering for Gaze-tracked Virtual Reality. ACM Trans. Graph. 35, 6, Article 179 (Nov. 2016), 12 pages. Google Scholar
Digital Library
- Voicu Popescu, Paul Rosen, and Nicoletta Adamo-Villani. 2009. The Graph Camera. In ACM SIGGRAPH Asia 2009 Papers (SIGGRAPH Asia '09). ACM, New York, NY, USA, Article 158, 8 pages. Google Scholar
Digital Library
- Alexander Reshetov, Alexei Soupikov, and Jim Hurley. 2005. Multi-level Ray Tracing Algorithm. In ACM SIGGRAPH Papers (SIGGRAPH). 1176--1185. Google Scholar
Digital Library
- David Roger, Ulf Assarsson, and Nicolas Holzschuch. 2007. Whitted ray-tracing for dynamic scenes using a ray-space hierarchy on the GPU. In Proceedings of the 18th Eurographics conference on Rendering Techniques. 99--110. Google Scholar
Digital Library
- Qi Sun, Fu-Chung Huang, Joohwan Kim, Li-Yi Wei, David Luebke, and Arie Kaufman. 2017. Perceptually-guided Foveation for Light Field Displays. ACM Trans. Graph. 36, 6, Article 192 (Nov. 2017), 13 pages. Google Scholar
Digital Library
- Robert Toth, Jim Nilsson, and Tomas Akenine-MÃűller. 2016. Comparison of Projection Methods for Rendering Virtual Reality. In Eurographics/ ACM SIGGRAPH Symposium on High Performance Graphics. Google Scholar
Digital Library
- Ingo Wald, Solomon Boulos, and Peter Shirley. 2007a. Ray Tracing Deformable Scenes Using Dynamic Bounding Volume Hierarchies. ACM Trans. Graph. 26, 1, Article 6 (2007). Google Scholar
Digital Library
- Ingo Wald, William R. Mark, Johannes GÃijnther, Solomon Boulos, Thiago Ize, Warren Hunt, Steven G. Parker, and Peter Shirley. 2007b. State of the Art in Ray Tracing Animated Scenes. In Eurographics - State of the Art Reports.Google Scholar
- Ingo Wald, Sven Woop, Carsten Benthin, Gregory S. Johnson, and Manfred Ernst. 2014. Embree: A Kernel Framework for Efficient CPU Ray Tracing. ACM Trans. Graph. 33, 4, Article 143 (2014), 143:1--143:8 pages. Google Scholar
Digital Library
- Bruce Walter, Stephen R. Marschner, Hongsong Li, and Kenneth E. Torrance. 2007. Microfacet Models for Refraction Through Rough Surfaces. In Proceedings of the 18th Eurographics Conference on Rendering Techniques (EGSR). 195--206. Google Scholar
Digital Library
- Turner Whitted. 1980. An Improved Illumination Model for Shaded Display. Commun. ACM 23, 6 (1980), 343--349. Google Scholar
Digital Library
- Chris Wyman, Rama Hoetzlein, and Aaron Lefohn. 2015. Frustum-traced Raster Shadows: Revisiting Irregular Z-buffers. In Proceedings of the 19th Symposium on Interactive 3D Graphics and Games (i3D). 15--23. Google Scholar
Digital Library
Index Terms
Hierarchical Visibility for Virtual Reality
Recommendations
Accelerating ray shooting through aggressive 5D visibility preprocessing
AFRIGRAPH '03: Proceedings of the 2nd international conference on Computer graphics, virtual Reality, visualisation and interaction in AfricaWe present a new approach to accelerating general ray shooting. Our technique uses a five-dimensional ray space partition and is based on the classic ray-classification algorithm. Where the original algorithm evaluates intersection candidates at run-...
Use of hardware Z-buffered rasterization to accelerate ray tracing
SAC '07: Proceedings of the 2007 ACM symposium on Applied computingRay tracing is a rendering technique for producing realistic 3D computer graphics. Compared to traditional scan-line rendering which is generally adopted by graphics pipeline, ray tracing can simulate more realistic global illumination, however, with ...
A hybrid GPU rasterized and ray traced rendering pipeline for real time rendering of per pixel effects
ICEC'12: Proceedings of the 11th international conference on Entertainment ComputingRendering in 3D games typically uses rasterization approaches in order to guarantee interactive frame rates, since ray tracing, a superior method for rendering photorealistic images, has greater computational cost. With the advent of massively parallel ...






Comments