skip to main content
research-article

Using Hardware Ray Transforms to Accelerate Ray/Primitive Intersections for Long, Thin Primitive Types

Published:26 August 2020Publication History
Skip Abstract Section

Abstract

With the recent addition of hardware ray tracing capabilities, GPUs have become incredibly efficient at ray tracing both triangular geometry, and instances thereof. However, the bounding volume hierarchies that current ray tracing hardware relies on are known to struggle with long, thin primitives like cylinders and curves, because the axis-aligned bounding boxes that these hierarchies rely on cannot tightly bound such primitives. In this paper, we evaluate the use of RTX ray tracing capabilities to accelerate these primitives by tricking the GPU's instancing units into executing a hardware-accelerated oriented bounding box (OBB) rejection test before calling the user's intersection program. We show that this can be done with minimal changes to the intersection programs and demonstrate speedups of up to 5.9× on a variety of data sets.

Skip Supplemental Material Section

Supplemental Material

3406179.mp4

Presentation Video

References

  1. Giorgio A Ascoli, Duncan E Donohue, and Maryam Halavi. 2007. NeuroMorpho.Org: a central resource for neuronal morphologies. Journal of Neuroscience 27, 35 (2007), 9247--9251.Google ScholarGoogle ScholarCross RefCross Ref
  2. Nikolaus Binder and Alexander Keller. 2018. Fast, high precision ray/fiber intersection using tight, disjoint bounding volumes. arXiv preprint arXiv:1811.03374.Google ScholarGoogle Scholar
  3. Benedikt Bitterli. 2016. Rendering resources. https://benedikt-bitterli.me/resources/.Google ScholarGoogle Scholar
  4. Blender Foundation 2019. Spring - A poetic fantasy film written and directed by Andy Goralczyk. https://cloud.blender.org/p/spring/Google ScholarGoogle Scholar
  5. Blender Foundation 2020. Cosmos Laundromat (Project Gooseberry). https://gooseberry.blender.org/about/Google ScholarGoogle Scholar
  6. Stefan Gottschalk, Ming Lin, and Dinesh Manocha. 1996. OBBTree: A Hierarchical Structure for Rapid Interference Detection. In Proceedings of ACM SIGGRAPH.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Mengjiao Han, Ingo Wald, Will Usher, Qi Wu, Feng Wang, Valerio Pascucci, Charles D Hansen, and Chris R Johnson. 2019. Ray Tracing Generalized Tube Primitives: Method and Applications. 38, 3 (2019).Google ScholarGoogle Scholar
  8. Naty Hoffman, Wenzel Jakob, Michal Iwanicki, Pesce Angelo, Danny Chan, David Neubelt, Matt Pettineo, Brent Burley, and Luca Fascione. 2015. Physically Based Shading in Theory and Practice. In ACM SIGGRAPH 2015 Courses (Los Angeles, CA) (SIGGRAPH '15). Association for Computing Machinery, New York, NY, USA, Article 6, 19 pages.Google ScholarGoogle Scholar
  9. Emmett Kilgariff, Henry Moreton, Nick Stam, and Brandon Bell. 2018. NVIDIA Turing Architecture In-Depth. https://devblogs.nvidia.com/nvidia-turing-architecture-in-depth/ NVidia Developer Blog.Google ScholarGoogle Scholar
  10. Daniel Koch, Tobias Hector, Joshua Barczak, and Eric Werness. 2020. "Ray Tracing in Vulkan". https://www.khronos.org/blog/ray-tracing-in-vulkanGoogle ScholarGoogle Scholar
  11. Stephen McAuley, Stephen Hill, Naty Hoffman, Yoshiharu Gotanda, Brian Smits, Brent Burley, and Adam Martinez. 2012. Practical Physically-Based Shading in Film and Game Production. In ACM SIGGRAPH 2012 Courses (Los Angeles, CA) (SIGGRAPH '12). Association for Computing Machinery, New York, NY, USA, Article 10, 7 pages.Google ScholarGoogle Scholar
  12. Microsoft 2020. DirectX Ray Tracing (DXR) Functional Spec. https://microsoft.github.io/DirectX-Specs/d3d/Raytracing.html version 1.11.Google ScholarGoogle Scholar
  13. Keith Morley. 2019. How to Get Started with OptiX 7. NVIDIA Developer Blog. https://devblogs.nvidia.com/how-to-get-started-with-optix-7/Google ScholarGoogle Scholar
  14. Koji Nakamaru and Yoshio Ohno. 2002. Ray Tracing for Curves Primitive. In Proceedings of Winter School of Computer Graphics (WSCG).Google ScholarGoogle Scholar
  15. NVIDIA Corp. [n.d.]. NVidia Turing GPU Archictecture. https://www.nvidia.com/content/dam/en-zz/Solutions/design-visualization/technologies/turing-architecture/NVIDIA-Turing-Architecture-Whitepaper.pdf WP-09183-001_v01.Google ScholarGoogle Scholar
  16. Steven G Parker, James Bigler, Andreas Dietrich, Heiko Friedrich, Jared Hoberock, David Luebke, David McAllister, Morgan McGuire, Keith Morley, and Austin Robison. 2010. OptiX: A General Purpose Ray Tracing Engine. ACM Transactions on Graphics (Proceedings of ACM SIGGRAPH) 29, 4 (2010).Google ScholarGoogle Scholar
  17. Inigo Quilez. 2016. Capsule - intersection. Available on ShaderToy. https://www.shadertoy.com/view/Xt3SzXGoogle ScholarGoogle Scholar
  18. Alexander Reshetov. 2017. Exploiting Budan-Fourier and Vincent's Theorems for Ray Tracing 3D Bezier Curves. In Proceedings of High Performance Graphics (HPG).Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Alexander Reshetov and David Luebke. 2018. Phantom Ray-Hair Intersector. Proceedings of the ACM on Computer Graphics and Interactive Techniques 1, 2 (2018).Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Will Usher. 2019. ChameleonRT. https://github.com/Twinklebear/ChameleonRT.Google ScholarGoogle Scholar
  21. Ingo Wald. 2020. OWL - A Node Graph Library Abstraction for OptiX 7. http://owl-project.github.ioGoogle ScholarGoogle Scholar
  22. Ingo Wald, Sven Woop, Carsten Benthin, Gregory S. Johnson, and Manfred Ernst. 2014. Embree: A Kernel Framework for Efficient CPU Ray Tracing. ACM Transactions on Graphics (Proceedings of SIGGRAPH) 33, 4 (2014).Google ScholarGoogle Scholar
  23. Sven Woop, Carsten Benthin, Ingo Wald, Gregory S Johnson, and Eric Tabellion. 2014. Exploiting Local Orientation Similarity for Efficient Ray Traversal of Hair and Fur. In High Performance Graphics.Google ScholarGoogle Scholar
  24. Cem Yuksel. 2012. HAIR model files. www.cemyuksel.com/research/hairmodelsGoogle ScholarGoogle Scholar

Index Terms

  1. Using Hardware Ray Transforms to Accelerate Ray/Primitive Intersections for Long, Thin Primitive Types

    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

    • Article Metrics

      • Downloads (Last 12 months)49
      • Downloads (Last 6 weeks)4

      Other Metrics

    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!