Point Cloud Viewer  1.00
A Viewer to display point clouds with phong shading by converting them to splats.
Visualization 2 exercise

Functionality

This application allows to view point clouds stored in ASCII-formatted .ply files.

To display the point clouds with phong shading they first have to be converted into elliptical splat clouds. This is achieved using parts of the method described in [1]. The splats are rendered using the method described in [2].

Usage

ply files can be loaded with File → Open

With File → close / close all they can be closed, this also removes selected lights.

Edit → add Light allows adding a new Point light. With Edit → rename/change color it can be modified when it is selected in the list on the right.

The selected object on the right (camera, light or cloud model) can be moved, rotated and scaled with the mouse when clicking on the render window. Hold left mouse button for rotating and right mouse button for movement. Scaling is done with the mouse wheel. When a light is selected rotation has no effect and scaling changes the light intensity value. When the camera is selected the mouse wheel changes the FOV which equals to zooming.

The Reset Object button resets the current object’s position, scale and rotation. Reset Camera does the same for the camera. When the camera is selected both buttons do the same.

The dropdown menu Display allows to change the displayed render pass result. The depth map created in the visibility pass contains the depth values (most of the time they will appear black). The attribute pass creates a normal map and a color map for the camera image. The values are in premultiplied alpha format with additional storage of the alpha value, so the intensity distribution is not homogeneous. The shading pass finally composes the shaded image using the results of the previous passes.

The splat scale value can be used to change the scale of the displayed splats. A value of 1.0 results in splats sized according to [1].

The shader parameters section allows to change the shininess and ambient light values for shading calculation.

The displayed fps are computed by measuring the time to draw the currently displayed image. The UI-Framework might prevent actually rendering the possible amount of frames per second e.g. during camera rotation.

screenshot
Screenshot of the Point Cloud Viewer Interface

[1] WU, Jainhua; KOBBELT, Leif. Optimized Sub‐Sampling of Point Sets for Surface Splatting. In: Computer Graphics Forum. Blackwell Publishing, Inc, 2004. S. 643-652.

[2] BOTSCH, Mario, et al. High-quality surface splatting on today's GPUs. In:Point-Based Graphics, 2005. Eurographics/IEEE VGTC Symposium Proceedings. IEEE, 2005. S. 17-141.