Progressive Real-Time Rendering of One Billion Points Without Hierarchical Acceleration Structures

Markus Sch├╝tz, Gottfried Mandlburger, Johannes Otepka, Michael Wimmer
Progressive Real-Time Rendering of One Billion Points Without Hierarchical Acceleration Structures

Information

Abstract

Research in rendering large point clouds traditionally focused on the generation and use of hierarchical acceleration structures that allow systems to load and render the smallest fraction of the data with the largest impact on the output. The generation of these structures is slow and time consuming, however, and therefore ill-suited for tasks such as quickly looking at scan data stored in widely used unstructured file formats, or to immediately display the results of point-cloud processing tasks.

We propose a progressive method that is capable of rendering any point cloud that fits in GPU memory in real time, without the need to generate hierarchical acceleration structures in advance. Our method supports data sets with a large amount of attributes per point, achieves a load performance of up to 100 million points per second, displays already loaded data in real time while remaining data is still being loaded, and is capable of rendering up to one billion points using an on-the-fly generated shuffled vertex buffer as its data structure, instead of slow-to-generate hierarchical structures. Shuffling is done during loading in order to allow efficiently filling holes with random subsets, which leads to a higher quality convergence behavior.

Additional Files and Images

Additional images and videos


Additional files

Weblinks

BibTeX

@misc{TR 193-2-2019-4,
  title =      "Progressive Real-Time Rendering of One Billion Points
               Without Hierarchical Acceleration Structures",
  author =     "Markus Sch\"{u}tz and Gottfried Mandlburger and Johannes
               Otepka and Michael Wimmer",
  year =       "2019",
  abstract =   "Research in rendering large point clouds traditionally
               focused on the generation and use of hierarchical
               acceleration structures that allow systems to load and
               render the smallest fraction of the data with the largest
               impact on the output. The generation of these structures is
               slow and time consuming, however, and therefore ill-suited
               for tasks such as quickly looking at scan data stored in
               widely used unstructured file formats, or to immediately
               display the results of point-cloud processing tasks.      We
               propose a progressive method that is capable of rendering
               any point cloud that fits in GPU memory in real time,
               without the need to generate hierarchical acceleration
               structures in advance. Our method supports data sets with a
               large amount of attributes per point, achieves a load
               performance of up to 100 million points per second, displays
               already loaded data in real time while remaining data is
               still being loaded, and is capable of rendering up to one
               billion points using an on-the-fly generated shuffled vertex
               buffer as its data structure, instead of slow-to-generate
               hierarchical structures. Shuffling is done during loading in
               order to allow efficiently filling holes with random
               subsets, which leads to a higher quality convergence
               behavior. ",
  month =      oct,
  URL =        "https://www.cg.tuwien.ac.at/research/publications/2019/TR
               193-2-2019-4/",
}