skip to main content
research-article
Open Access

Hierarchical Visibility for Virtual Reality

Authors Info & Claims
Published:25 July 2018Publication History
Skip Abstract Section

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.

References

  1. Kurt Akeley. 1993. Reality engine graphics. In Proceedings of the 20th annual conference on Computer graphics and interactive techniques. ACM, 109--116. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. Robert L. Cook, Thomas Porter, and Loren Carpenter. 1984. Distributed Ray Tracing. SIGGRAPH Comput. Graph. 18, 3 (1984), 137--145. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. Joe Demers. 2004. Depth of Field: A Survey of Techniques. In GPU Gems. Addison-Wesley, 375--390.Google ScholarGoogle Scholar
  9. 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 ScholarGoogle ScholarCross RefCross Ref
  10. Jeffrey Goldsmith and John Salmon. 1987. Automatic Creation of Object Hierarchies for Ray Tracing. IEEE Comput. Graph. Appl. 7, 5 (1987), 14--20. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. Brian Guenter, Mark Finch, Steven Drucker, Desney Tan, and John Snyder. 2012. Foveated 3D graphics. ACM Trans. Graph. 31, 6 (2012), 164. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle ScholarCross RefCross Ref
  15. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle ScholarCross RefCross Ref
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. Tomas Möller and Ben Trumbore. 1997. Fast, Minimum Storage Ray-triangle Intersection. J. Graph. Tools 2, 1 (1997), 21--28. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle ScholarCross RefCross Ref
  24. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  25. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  27. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  28. Alexander Reshetov, Alexei Soupikov, and Jim Hurley. 2005. Multi-level Ray Tracing Algorithm. In ACM SIGGRAPH Papers (SIGGRAPH). 1176--1185. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  30. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  31. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  32. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  33. 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 ScholarGoogle Scholar
  34. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  35. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  36. Turner Whitted. 1980. An Improved Illumination Model for Shaded Display. Commun. ACM 23, 6 (1980), 343--349. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Hierarchical Visibility for Virtual Reality

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          • Published in

            cover image Proceedings of the ACM on Computer Graphics and Interactive Techniques
            Proceedings of the ACM on Computer Graphics and Interactive Techniques  Volume 1, Issue 1
            July 2018
            378 pages
            EISSN:2577-6193
            DOI:10.1145/3242771
            Issue’s Table of Contents

            Copyright © 2018 Owner/Author

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 25 July 2018
            Published in pacmcgit Volume 1, Issue 1

            Check for updates

            Qualifiers

            • research-article
            • Research
            • Refereed

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!