skip to main content
research-article
Open Access

SimLOD: Simultaneous LOD Generation and Rendering for Point Clouds

Published:13 May 2024Publication History
Skip Abstract Section

Abstract

LOD construction is typically implemented as a preprocessing step that requires users to wait before they are able to view the results in real time. We propose an incremental LOD generation approach for point clouds that allows us to simultaneously load points from disk, update an octree-based level-of-detail representation, and render the intermediate results in real time while additional points are still being loaded from disk. LOD construction and rendering are both implemented in CUDA and share the GPU's processing power, but each incremental update is lightweight enough to leave enough time to maintain real-time frame rates.

Our approach is able to stream points from an SSD and update the octree on the GPU at rates of up to 580 million points per second (~9.3GB/s) on an RTX 4090 and a PCIe 5.0 SSD. Depending on the data set, our approach spends an average of about 1 to 2 ms to incrementally insert 1 million points into the octree, allowing us to insert several million points per frame into the LOD structure and render the intermediate results within the same frame.

References

  1. 2023. P0447R21: Introduction of std::hive to the standard library. C++ Standards Comitee Proposal Paper. https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p0447r21.html Accessed 2023.03.25.Google ScholarGoogle Scholar
  2. AHN 2002. AHN. https://www.ahn.nl/kwaliteitsbeschrijving, Accessed 2023.06.01.Google ScholarGoogle Scholar
  3. AHN2 2012. AHN2. https://www.pdok.nl/introductie/-/article/actueel-hoogtebestand-nederland-ahn2-, Accessed 2021.03.27.Google ScholarGoogle Scholar
  4. Pascal Bormann, Tobias Dorra, Bastian Stahl, and Dieter W. Fellner. 2022. Real-time Indexing of Point Cloud Data During LiDAR Capture. In Computer Graphics and Visual Computing (CGVC), Peter Vangorp and Martin J. Turner (Eds.). The Eurographics Association. https://doi.org/10.2312/cgvc.20221173Google ScholarGoogle ScholarCross RefCross Ref
  5. Pascal Bormann and Michel Krämer. 2020. A System for Fast and Scalable Point Cloud Indexing Using Task Parallelism. In Smart Tools and Apps for Graphics - Eurographics Italian Chapter Conference, Silvia Biasotti, Ruggero Pintus, and Stefano Berretti (Eds.). The Eurographics Association.Google ScholarGoogle Scholar
  6. Mario Botsch, Alexander Hornung, Matthias Zwicker, and Leif Kobbelt. 2005. High-quality surface splatting on today's GPUs. In Proceedings Eurographics/IEEE VGTC Symposium Point-Based Graphics, 2005. 17--141.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Stefan Bruckner. 2019. Dynamic Visibility-Driven Molecular Surfaces. Computer Graphics Forum (2019). https://doi.org/10.1111/cgf.13640Google ScholarGoogle ScholarCross RefCross Ref
  8. M.P. Bunds, C. Scott, N.A. Toké, J. Saldivar, L. Woolstenhulme, J. Phillips, M. Keck, S. Smith, and M. Ranney. 2020. High Resolution Topography of the Central San Andreas Fault at Dry Lake Valley. Distributed by OpenTopography, Accessed 2023.09.29.Google ScholarGoogle Scholar
  9. Victor Careil, Markus Billeter, and Elmar Eisemann. 2020. Interactively modifying compressed sparse voxel representations. In Computer Graphics Forum, Vol. 39. Wiley Online Library, 111--119.Google ScholarGoogle Scholar
  10. Cesium 2021. Cesium. https://github.com/CesiumGS/cesium/, Accessed 2021.03.19.Google ScholarGoogle Scholar
  11. Matthäus G. Chajdas, Matthias Reitinger, and Rüdiger Westermann. 2014. Scalable rendering for very large meshes. Journal of WSCG 22 (2014), 77--85.Google ScholarGoogle Scholar
  12. Liviu Coconu and Hans-Christian Hege. 2002. Hardware-Accelerated Point-Based Rendering of Complex Scenes. In Eurographics Workshop on Rendering, P. Debevec and S. Gibson (Eds.). The Eurographics Association. https://doi.org/10.2312/EGWR/EGWR02/043-052Google ScholarGoogle ScholarCross RefCross Ref
  13. J.D. Cohen, D.G. Aliaga, and Weiqiang Zhang. 2001. Hybrid simplification: combining multi-resolution polygon and point rendering. In Proceedings Visualization, 2001. VIS '01. 37--539. https://doi.org/10.1109/VISUAL.2001.964491Google ScholarGoogle ScholarCross RefCross Ref
  14. Cyril Crassin, Fabrice Neyret, Sylvain Lefebvre, and Elmar Eisemann. 2009. GigaVoxels: Ray-Guided Streaming for Efficient and Detailed Voxel Rendering. In Proceedings of the 2009 Symposium on Interactive 3D Graphics and Games (Boston, Massachusetts) (I3D '09). Association for Computing Machinery, New York, NY, USA, 15--22.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Carsten Dachsbacher, Christian Vogelgsang, and Marc Stamminger. 2003. Sequential Point Trees. ACM Trans. Graph. 22, 3 (2003), 657--662.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Entwine 2021. Entwine. https://entwine.io/, Accessed 2021.04.13.Google ScholarGoogle Scholar
  17. Alex Evans. 2015. Learning from failure: A Survey of Promising, Unconventional and Mostly Abandoned Renderers for 'Dreams PS4', a Geometrically Dense, Painterly UGC Game. In ACM SIGGRAPH 2015 Courses, Advances in Real-Time Rendering in Games. http://media.lolrus.mediamolecule.com/AlexEvans_SIGGRAPH-2015.pdf [Accessed 7-June-2022].Google ScholarGoogle Scholar
  18. Enrico Gobbetti and Fabio Marton. 2004. Layered Point Clouds: A Simple and Efficient Multiresolution Structure for Distributing and Rendering Gigantic Point-sampled Models. Comput. Graph. 28, 6 (2004), 815--826.Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. P. Goswami, Y. Zhang, R. Pajarola, and E. Gobbetti. 2010. High Quality Interactive Rendering of Massive Point Models Using Multi-way kd-Trees. In 2010 18th Pacific Conference on Computer Graphics and Applications. 93--100.Google ScholarGoogle Scholar
  20. Christian Günther, Thomas Kanzok, Lars Linsen, and Paul Rosenthal. 2013. A GPGPU-based Pipeline for Accelerated Rendering of Point Clouds. J. WSCG 21 (2013), 153--161.Google ScholarGoogle Scholar
  21. Kshitij Gupta, Jeff A. Stuart, and John D. Owens. 2012. A study of Persistent Threads style GPU programming for GPGPU workloads. In 2012 Innovative Parallel Computing (InPar). 1--14. https://doi.org/10.1109/InPar.2012.6339596Google ScholarGoogle ScholarCross RefCross Ref
  22. Mark Harris and Kyrylo Perelygin. 2017. Cooperative Groups: Flexible CUDA Thread Programming. https://developer.nvidia.com/blog/cooperative-groups/ Accessed 2023.06.05.Google ScholarGoogle Scholar
  23. U. Herbig, L. Stampfer, D. Grandits, I. Mayer, M. Pöchtrager, Ikaputra, and A. Setyastuti. 2019. DEVELOPING A MONITORING WORKFLOW FOR THE TEMPLES OF JAVA. The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences XLII-2/W15 (2019), 555--562. https://www.int-arch-photogramm-remote-sens-spatial-inf-sci.net/XLII-2-W15/555/2019/Google ScholarGoogle Scholar
  24. Iconem. 2024. Northern necropolis - Meroë. https://app.iconem.com/#/3d/project/public/6384d382-5e58-4454-b8e6-dec45b6e6078/scene/c038fb6f-c16b-421e-a2ac-f7292f1b1c64/ Accessed 2023.06.05.Google ScholarGoogle Scholar
  25. The Khronos Group Inc. 2014. ARB_sparse_buffer Extension. https://registry.khronos.org/OpenGL/extensions/ARB/ARB_sparse_buffer.txt/ Accessed 2023.06.01.Google ScholarGoogle Scholar
  26. Lai Kang, Jie Jiang, Yingmei Wei, and Yuxiang Xie. 2019. Efficient Randomized Hierarchy Construction for Interactive Visualization of Large Scale Point Clouds. In 2019 IEEE Fourth International Conference on Data Science in Cyberspace (DSC). 593--597.Google ScholarGoogle Scholar
  27. Maik Keller, Nicolas Cuntz, and Andreas Kolb. 2009. Interactive Dynamic Volume Trees on the GPU. VMV 2009 - Proceedings of the Vision, Modeling, and Visualization Workshop 2009, 165--176.Google ScholarGoogle Scholar
  28. Michael Kenzel, Bernhard Kerbl, Dieter Schmalstieg, and Markus Steinberger. 2018. A High-Performance Software Graphics Pipeline Architecture for the GPU. 37, 4, Article 140 (jul 2018), 15 pages. https://doi.org/10.1145/3197517.3201374Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Bernhard Kerbl, Georgios Kopanas, Thomas Leimkühler, and George Drettakis. 2023. 3D Gaussian Splatting for Real-Time Radiance Field Rendering. ACM Transactions on Graphics 42, 4 (July 2023). https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Kevin Kocon and Pascal Bormann. 2021. Point cloud indexing using Big Data technologies. In 2021 IEEE International Conference on Big Data (Big Data). 109--119.Google ScholarGoogle ScholarCross RefCross Ref
  31. Richard E Korf. 1985. Depth-first iterative-deepening: An optimal admissible tree search. Artificial intelligence 27, 1 (1985), 97--109.Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Oscar Martinez-Rubi, Stefan Verhoeven, M. van Meersbergen, Markus Schütz, Peter van Oosterom, Romulo Goncalves, and T. P. M. Tijssen. 2015. Taming the beast: Free and open-source massive point cloud web visualization. Capturing Reality Forum 2015, Salzburg, Austria.Google ScholarGoogle Scholar
  33. Microsoft. 2022. BC7 Format. https://learn.microsoft.com/en-us/windows/win32/direct3d11/bc7-format#bc7-implementation/ Accessed 2023.06.09.Google ScholarGoogle Scholar
  34. Mathijs Molenaar and Elmar Eisemann. 2023. Editing Compressed High-resolution Voxel Scenes with Attributes. In Eurographics 2023. Eurographics, Wiley. https://doi.org/10.1111/cgf.14757Google ScholarGoogle ScholarCross RefCross Ref
  35. Carlos J. Ogayar-Anguita, Alfonso López-Ruiz, Antonio J. Rueda-Ruiz, and Rafael J. Segura-Sánchez. 2023. Nested spatial data structures for optimal indexing of LiDAR data. ISPRS Journal of Photogrammetry and Remote Sensing 195 (2023), 287--297.Google ScholarGoogle ScholarCross RefCross Ref
  36. Pacific Gas & Electric Company. 2013. PG&E Diablo Canyon Power Plant (DCPP): San Simeon and Cambria Faults, CA, Airborne Lidar survey. Distributed by OpenTopography.Google ScholarGoogle Scholar
  37. Cory Perry and Nikolay Sakharnykh. 2020. Introducing Low-Level GPU Virtual Memory Management. https://developer.nvidia.com/blog/introducing-low-level-gpu-virtual-memory-management/ Accessed 2023.06.01.Google ScholarGoogle Scholar
  38. Hanspeter Pfister, Matthias Zwicker, Jeroen van Baar, and Markus Gross. 2000. Surfels: Surface Elements As Rendering Primitives. In Proceedings of the 27th Annual Conference on Computer Graphics and Interactive Techniques (SIGGRAPH '00). ACM Press/Addison-Wesley Publishing Co., New York, NY, USA, 335--342.Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Szymon Rusinkiewicz and Marc Levoy. 2000. QSplat: A Multiresolution Point Rendering System for Large Meshes. In Proceedings of the 27th Annual Conference on Computer Graphics and Interactive Techniques (SIGGRAPH '00). ACM Press/Addison-Wesley Publishing Co., USA, 343--352.Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Claus Scheiblauer and Michael Wimmer. 2011. Out-of-Core Selection and Editing of Huge Point Clouds. Computers & Graphics 35, 2 (2011), 342--351.Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Markus Schütz. 2016. Potree: Rendering Large Point Clouds in Web Browsers. Master's thesis. Institute of Computer Graphics and Algorithms, TU Wien, Favoritenstrasse 9-11/E193-02, A-1040 Vienna, Austria. https://www.cg.tuwien.ac.at/research/publications/2016/SCHUETZ-2016-POT/Google ScholarGoogle Scholar
  42. Markus Schütz, Bernhard Kerbl, Philip Klaus, and Michael Wimmer. 2023. GPU-Accelerated LOD Generation for Point Clouds. https://www.cg.tuwien.ac.at/research/publications/2023/SCHUETZ-2023-LOD/Google ScholarGoogle Scholar
  43. Markus Schütz, Bernhard Kerbl, and Michael Wimmer. 2021. Rendering Point Clouds with Compute Shaders and Vertex Order Optimization. Computer Graphics Forum 40, 4 (2021), 115--126. https://www.cg.tuwien.ac.at/research/publications/2021/SCHUETZ-2021-PCC/Google ScholarGoogle ScholarCross RefCross Ref
  44. Markus Schütz, Bernhard Kerbl, and Michael Wimmer. 2022. Software Rasterization of 2 Billion Points in Real Time. Proceedings of the ACM on Computer Graphics and Interactive Techniques 5, 3 (July 2022), 1--17.Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Markus Schütz, Katharina Krösl, and Michael Wimmer. 2019. Real-Time Continuous Level of Detail Rendering of Point Clouds. In 2019 IEEE Conference on Virtual Reality and 3D User Interfaces (Osaka, Japan). IEEE, 103--110.Google ScholarGoogle Scholar
  46. Markus Schütz, Stefan Ohrhallinger, and Michael Wimmer. 2020. Fast Out-of-Core Octree Generation for Massive Point Clouds. Computer Graphics Forum 39, 7 (Nov. 2020), 1--13.Google ScholarGoogle ScholarCross RefCross Ref
  47. Zhong Shao, John H Reppy, and Andrew W Appel. 1994. Unrolling lists. In Proceedings of the 1994 ACM conference on LISP and functional programming. 185--195.Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. USGS:3DEP 2020. 3D Elevation Program (3DEP). https://www.usgs.gov/core-science-systems/ngp/3dep, Accessed 2020.09.18.Google ScholarGoogle Scholar
  49. USGS:Entwine 2020. USGS / Entwine. https://usgs.entwine.io, Accessed 2020.09.18.Google ScholarGoogle Scholar
  50. Peter van Oosterom, Simon van Oosterom, Haicheng Liu, Rod Thompson, Martijn Meijers, and Edward Verbree. 2022. Organizing and visualizing point clouds with continuous levels of detail. ISPRS Journal of Photogrammetry and Remote Sensing 194 (2022), 119--131.Google ScholarGoogle ScholarCross RefCross Ref
  51. Michael Wand, Alexander Berner, Martin Bokeloh, Philipp Jenke, Arno Fleck, Mark Hoffmann, Benjamin Maier, Dirk Staneker, Andreas Schilling, and Hans-Peter Seidel. 2008. Processing and interactive editing of huge point clouds from 3D scanners. Computers & Graphics 32, 2 (2008), 204--220.Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. Tim Weyrich, Simon Heinzle, Timo Aila, Daniel B. Fasnacht, Stephan Oetiker, Mario Botsch, Cyril Flaig, Simon Mall, Kaspar Rohrer, Norbert Felber, Hubert Kaeslin, and Markus Gross. 2007. A Hardware Architecture for Surface Splatting. ACM Trans. Graph. 26, 3 (jul 2007), 90-es. https://doi.org/10.1145/1276377.1276490Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. Michael Wimmer and Claus Scheiblauer. 2006. Instant Points: Fast Rendering of Unprocessed Point Clouds. In Symposium on Point-Based Graphics, Mario Botsch, Baoquan Chen, Mark Pauly, and Matthias Zwicker (Eds.). The Eurographics Association.Google ScholarGoogle Scholar
  54. Jason C. Yang, Justin Hensley, Holger Grün, and Nicolas Thibieroz. 2010. Real-Time Concurrent Linked List Construction on the GPU. Computer Graphics Forum 29, 4 (2010), 1297--1304. https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1467-8659.2010.01725.x_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1467-8659.2010.01725.x.Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. Jinhyuk Yoon, Sang Lyul Min, and Yookun Cho. 2002. Buffer cache management: predicting the future from the past. In Proceedings International Symposium on Parallel Architectures, Algorithms and Networks. I-SPAN'02. 105--110. https://doi.org/10.1109/ISPAN.2002.1004268Google ScholarGoogle ScholarCross RefCross Ref
  56. Stefan Zellmann, Ingo Wald, Alper Sahistan, Matthias Hellmann, and Will Usher. 2022. Design and Evaluation of a GPU Streaming Framework for Visualizing Time-Varying AMR Data. In Eurographics Symposium on Parallel Graphics and Visualization, Roxana Bujack, Julien Tierny, and Filip Sadlo (Eds.). The Eurographics Association. https://doi.org/10.2312/pgv.20221066Google ScholarGoogle ScholarCross RefCross Ref
  57. Matthias Zwicker, Hanspeter Pfister, Jeroen van Baar, and Markus Gross. 2001. Surface Splatting. In Proceedings of the 28th Annual Conference on Computer Graphics and Interactive Techniques (SIGGRAPH '01). Association for Computing Machinery, New York, NY, USA, 371--378. https://doi.org/10.1145/383259.383300Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. SimLOD: Simultaneous LOD Generation and Rendering for Point Clouds

    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 7, Issue 1
      May 2024
      399 pages
      EISSN:2577-6193
      DOI:10.1145/3665094
      Issue’s Table of Contents

      Copyright © 2024 Owner/Author

      This work is licensed under a Creative Commons Attribution-NonCommercial International 4.0 License.

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 13 May 2024
      Published in pacmcgit Volume 7, Issue 1

      Check for updates

      Qualifiers

      • research-article
      • Research
      • Refereed
    • Article Metrics

      • Downloads (Last 12 months)85
      • Downloads (Last 6 weeks)85

      Other Metrics

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader