Markus Schütz, Lukas HerzbergerORCID iD, Michael WimmerORCID iD
SimLOD: Simultaneous LOD Generation and Rendering for Point Clouds
Proceedings of the ACM on Computer Graphics and Interactive Techniques, 7(1):17, May 2024. [paper]

Information

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.

Additional Files and Images

Additional images and videos

SimLOD: Rendered Point Cloud to the left and points/voxels colored by the containing octree node to the right. SimLOD: Rendered Point Cloud to the left and points/voxels colored by the containing octree node to the right.

Additional files

Weblinks

BibTeX

@article{SCHUETZ-2024-SIMLOD,
  title =      "SimLOD: Simultaneous LOD Generation and Rendering for Point
               Clouds",
  author =     "Markus Sch\"{u}tz and Lukas Herzberger and Michael Wimmer",
  year =       "2024",
  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.",
  month =      may,
  journal =    "Proceedings of the ACM on Computer Graphics and Interactive
               Techniques",
  volume =     "7",
  number =     "1",
  note =       "Source Code: https://github.com/m-schuetz/SimLOD",
  articleno =  "17",
  issn =       "2577-6193",
  doi =        "10.1145/3651287",
  pages =      "20",
  publisher =  "Association for Computing Machinery (ACM)",
  keywords =   "LOD, real-time rendering, Point Cloud Rendering,
               rasterization, Octree",
  URL =        "https://www.cg.tuwien.ac.at/research/publications/2024/SCHUETZ-2024-SIMLOD/",
}