Information
- Publication Type: Journal Paper with Conference Talk
- Workgroup(s)/Project(s):
- Date: July 2021
- Journal: Computer Graphics Forum
- Volume: 40
- Open Access: yes
- Number: 4
- Location: online
- Lecturer: Markus Schütz
- ISSN: 1467-8659
- Event: Eurographics Symposium on Rendering 2021 (EGSR '21)
- DOI: 10.1111/cgf.14345
- Call for Papers: Call for Paper
- Booktitle: techreport
- Pages: 12
- Publisher: Eurographics Association
- Conference date: 29. June 2021 – 2. July 2021
- Pages: 115 – 126
- Keywords: point-based rendering, compute shader, real-time rendering
Abstract
While commodity GPUs provide a continuously growing range of features and sophisticated methods for accelerating compute jobs, many state-of-the-art solutions for point cloud rendering still rely on the provided point primitives (GL_POINTS, POINTLIST, ...) of graphics APIs for image synthesis. In this paper, we present several compute-based point cloud rendering approaches that outperform the hardware pipeline by up to an order of magnitude and achieve significantly better frame times than previous compute-based methods. Beyond basic closest-point rendering, we also introduce a fast, high-quality variant to reduce aliasing. We present and evaluate several variants of our proposed methods with different flavors of optimization, in order to ensure their applicability and achieve optimal performance on a range of platforms and architectures with varying support for novel GPU hardware features. During our experiments, the observed peak performance was reached rendering 796 million points (12.7GB) at rates of 62 to 64 frames per second (50 billion points per second, 802GB/s) on an RTX 3090 without the use of level-of-detail structures.We further introduce an optimized vertex order for point clouds to boost the efficiency of GL_POINTS by a factor of 5x in cases where hardware rendering is compulsory. We compare different orderings and show that Morton sorted buffers are faster for some viewpoints, while shuffled vertex buffers are faster in others. In contrast, combining both approaches by first sorting according to Morton-code and shuffling the resulting sequence in batches of 128 points leads to a vertex buffer layout with high rendering performance and low sensitivity to viewpoint changes.
Additional Files and Images
Weblinks
BibTeX
@article{SCHUETZ-2021-PCC,
title = "Rendering Point Clouds with Compute Shaders and Vertex Order
Optimization",
author = "Markus Sch\"{u}tz and Bernhard Kerbl and Michael Wimmer",
year = "2021",
abstract = "While commodity GPUs provide a continuously growing range of
features and sophisticated methods for accelerating compute
jobs, many state-of-the-art solutions for point cloud
rendering still rely on the provided point primitives
(GL_POINTS, POINTLIST, ...) of graphics APIs for image
synthesis. In this paper, we present several compute-based
point cloud rendering approaches that outperform the
hardware pipeline by up to an order of magnitude and achieve
significantly better frame times than previous compute-based
methods. Beyond basic closest-point rendering, we also
introduce a fast, high-quality variant to reduce aliasing.
We present and evaluate several variants of our proposed
methods with different flavors of optimization, in order to
ensure their applicability and achieve optimal performance
on a range of platforms and architectures with varying
support for novel GPU hardware features. During our
experiments, the observed peak performance was reached
rendering 796 million points (12.7GB) at rates of 62 to 64
frames per second (50 billion points per second, 802GB/s) on
an RTX 3090 without the use of level-of-detail structures.
We further introduce an optimized vertex order for point
clouds to boost the efficiency of GL_POINTS by a factor of
5x in cases where hardware rendering is compulsory. We
compare different orderings and show that Morton sorted
buffers are faster for some viewpoints, while shuffled
vertex buffers are faster in others. In contrast, combining
both approaches by first sorting according to Morton-code
and shuffling the resulting sequence in batches of 128
points leads to a vertex buffer layout with high rendering
performance and low sensitivity to viewpoint changes. ",
month = jul,
journal = "Computer Graphics Forum",
volume = "40",
number = "4",
issn = "1467-8659",
doi = "10.1111/cgf.14345",
booktitle = "techreport",
pages = "12",
publisher = "Eurographics Association",
pages = "115--126",
keywords = "point-based rendering, compute shader, real-time rendering",
URL = "https://www.cg.tuwien.ac.at/research/publications/2021/SCHUETZ-2021-PCC/",
}