Abstract   |   Pictures   |   Movies   |   Data sets   |   Download   |   Papers

Point Cloud Visualization


Numerical particle simulations and astronomical observations create huge data sets containing uncorrelated 3D points of varying size. These data sets cannot be visualized interactively by simply rendering millions of colored points for each frame. Therefore, in many visualization applications a scalar density corresponding to the point distribution is resampled on a regular grid for direct volume rendering. However, many fine details are usually lost for voxel resolutions which still allow interactive visualization on standard workstations. Since no surface geometry is associated with our data sets, the recently introduced point-based rendering algorithms cannot be applied as well.

We propose to accelerate the visualization of scattered point data by a hierarchical data structure based on a PCA clustering procedure. By traversing this structure for each frame we can trade-off rendering speed vs. image quality. Our scheme also reduces memory consumption by using quantized relative coordinates and it allows for fast sorting of semi-transparent clusters. We analyze various software and hardware implementations of our renderer and demonstrate that we can now visualize data sets with tens of millions of points interactively with sub-pixel screenspace error on current PC graphics hardware employing advanced vertex shader functionality.


Important note: The images are highly sensitive to your current display gamma. We provide images for display gammas of 1.0, 1.5, 1.9, and 2.4. With the following test images you can determine your current gamma settings. The left and right parts of the image with the correct gamma setting should look almost equivalent, when viewed from a greater distance.

Gamma 1.0  Gamma 1.5  Gamma 1.9  Gamma 2.4
Figure 1: Display gamma selection

None of these matches? Please try this in order to determine your real display gamma.

1.0 1.5 1.9 2.4   1.0 1.5 1.9 2.4   1.0 1.5 1.9 2.4   1.0 1.5 1.9 2.4
Level 3 (123K pts)  Level 4 (671K pts)  Level 5 (3.3M pts)  Level 6 (16M pts)
1.0 1.5 1.9 2.4   1.0 1.5 1.9 2.4   1.0 1.5 1.9 2.4   1.0 1.5 1.9 2.4
Zoomed level 3
(123K pts)
  Zoomed (corse!)
adaptive (130K pts)
  Zoomed level 6
(16M pts)
  Closeup simulation
(16M pts)
Figure 2: Virgo n-body simulation, different resolution levels

1.0 1.5 1.9 2.4   1.0 1.5 1.9 2.4   1.0 1.5 1.9 2.4    
SPH simulation
(1M pts)
  Galaxy formation
(540K pts, sorted)
  Reversible apollonian parking
(sorted, point sprites)
Figure 3: Other data sets

1.0 1.5 1.9 2.4   1.0 1.5 1.9 2.4
Adaptive vs. full data rendering  Software vs. OpenGL rasterization
Figure 4: Rendering differences - contrast enhanced by 400%


High resolution movies are encoded with the DivX 5.02 MPeg4 video codec. Low resolution movies are encoded with an MPeg1 codec. Again, please be sure to select the correct gamma version.

Full featured video showing several data sets, different hierarchy levels, sorting modes, rendering backends, and a longer flight through the Closeup simulation of the Virgo group.

Download size: Hi res: ca. 23MB Lo res: 6.5MB

Hi res: Gamma 1.0   |   Gamma 1.5   |   Gamma 1.9   |   Gamma 2.4
Lo res: Gamma 1.0   |   Gamma 1.5   |   Gamma 1.9   |   Gamma 2.4
Hi quality / Hi res: Gamma 2.4 DivX (44MB)   |   MPEG1 (32MB)

A short flight through an n-body simulation of the Virgo group.
Low video qualtiy due to direct video capturing.
Rendered on a AMD 1.2GHz with GeForce3 graphics

Download size: Hi res: ca. 6.7MB Lo res: 3MB

Hi res: Gamma 1.0   |   Gamma 1.5   |   Gamma 1.9   |   Gamma 2.4
Lo res: Gamma 1.0   |   Gamma 1.5   |   Gamma 1.9   |   Gamma 2.4

Data Sets

The data sets of the Virgo Cosortium that have been used are publically available at http://www.mpa-garching.mpg.de/Virgo/data_download.html. For more information and sources of other data see the file README.datasets in the source archive.


The source of the program is licensed under the GPL, V2 or later:
pointcloud-2006-03-31.tgz (1.1MB)

One data set of the Virgo Consortium is available in already clustered form:
virgo.pcld.gz (280MB) Attention! This file is large!

pointcould can read GZip-compressed pcld files, but as this can be much slower than reading the uncompressed file (depending on your disk and CPU speed), you might want to uncompress virgo.pcld.gz first.

Papers and Technical Reports

Matthias Hopf <mat@mshopf.de>