skip to main content
research-article
Open access

Hierarchical Visibility for Virtual Reality

Published: 25 July 2018 Publication History

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 (1080x1200x2@90hz). 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.
[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.
[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.
[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.
[5]
Robert L. Cook, Thomas Porter, and Loren Carpenter. 1984. Distributed Ray Tracing. SIGGRAPH Comput. Graph. 18, 3 (1984), 137--145.
[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.
[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.
[8]
Joe Demers. 2004. Depth of Field: A Survey of Techniques. In GPU Gems. Addison-Wesley, 375--390.
[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.
[10]
Jeffrey Goldsmith and John Salmon. 1987. Automatic Creation of Object Hierarchies for Ray Tracing. IEEE Comput. Graph. Appl. 7, 5 (1987), 14--20.
[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.
[12]
Brian Guenter, Mark Finch, Steven Drucker, Desney Tan, and John Snyder. 2012. Foveated 3D graphics. ACM Trans. Graph. 31, 6 (2012), 164.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[21]
Tomas Möller and Ben Trumbore. 1997. Fast, Minimum Storage Ray-triangle Intersection. J. Graph. Tools 2, 1 (1997), 21--28.
[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.
[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.
[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.
[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.
[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.
[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.
[28]
Alexander Reshetov, Alexei Soupikov, and Jim Hurley. 2005. Multi-level Ray Tracing Algorithm. In ACM SIGGRAPH Papers (SIGGRAPH). 1176--1185.
[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.
[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.
[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.
[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).
[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.
[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.
[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.
[36]
Turner Whitted. 1980. An Improved Illumination Model for Shaded Display. Commun. ACM 23, 6 (1980), 343--349.
[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.

Cited By

View all
  • (2024)Efficient and Robust From-Point VisibilityIEEE Transactions on Visualization and Computer Graphics10.1109/TVCG.2023.329113830:8(5313-5327)Online publication date: 1-Aug-2024
  • (2023)Procedural Rhythm Game Generation in Virtual RealityProceedings of the 2023 6th International Conference on Image and Graphics Processing10.1145/3582649.3582664(218-222)Online publication date: 6-Jan-2023
  • (2020)Physics-based differentiable renderingACM SIGGRAPH 2020 Courses10.1145/3388769.3407454(1-30)Online publication date: 17-Aug-2020

Recommendations

Comments

Information & Contributors

Information

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
Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the 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

Author Tags

  1. GPU
  2. Ray Casting
  3. Ray Tracing
  4. Virtual Reality
  5. Visibility

Qualifiers

  • Research-article
  • Research
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)152
  • Downloads (Last 6 weeks)14
Reflects downloads up to 12 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Efficient and Robust From-Point VisibilityIEEE Transactions on Visualization and Computer Graphics10.1109/TVCG.2023.329113830:8(5313-5327)Online publication date: 1-Aug-2024
  • (2023)Procedural Rhythm Game Generation in Virtual RealityProceedings of the 2023 6th International Conference on Image and Graphics Processing10.1145/3582649.3582664(218-222)Online publication date: 6-Jan-2023
  • (2020)Physics-based differentiable renderingACM SIGGRAPH 2020 Courses10.1145/3388769.3407454(1-30)Online publication date: 17-Aug-2020

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media