cgtuebingen / pointcloud-viewer

Efficient Large-Scale Point-Cloud Viewer based on OpenGL
http://pointcloudviewer.org
GNU General Public License v3.0
80 stars 27 forks source link
gles glut large-scale opengl point-cloud qt scientific-visualization viewer visualization

Point Cloud Viewer

Build Status TensorFlow

This tool allows viewing huge point clouds and export a flight through (as used in this video).

Beta version, not recommended for usage in commercial productions!!

Build on Ubuntu

Install dependencies

sudo apt install build-essential cmake
sudo apt install qt5-default libqt5opengl5-dev libboost-all-dev

Clone with

git clone git@github.com:cgtuebingen/pointcloud-viewer.git
cd pointcloud-viewer/
git submodule update --init

Compile with

mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ../src
make -j8

Run with

pointcloud_viewer/pointcloud_viewer

Usage: Basics

Load a Point Cloud with the menu bar:

Project > Import Pointcloud

There are two available navigation schemes for navigating the 3d view:

Blender Inspired Navigation Scheme

In the Blender Navigation scheme, you will see a grid:

screenshot

You have three different ways to navigate:

MeshLab Inspired Navigation Scheme

In the Blender Navigation scheme, you will see a trackball:

screenshot

You have three different ways to navigate:

Additionally, you can change the render properties:

Usage: Animation

You can animate the camera by defining a camera path. The path consists out of multiple key-points.

If you have already a ready to use camera path, you can import it with the menu bar:

Flythrough > Import Path

Alternatively, you can create your own path by navigating the camera and add a new key-point by pressing the i key.

More options for changing the flythrough camera animation can be found in the Flythrough-Tab (red):

screenshot

Usage: Render

You can render the frames of the animation to single png files. To do this, go the the Render-Tab (red):

screenshot

Typical usage: Data Inspection

You can render the frames of the animation to single png files. To do this, go the the Data-Inspection-Tab (red):

screenshot

Here, you can

In order to be able to pick single points, you need to build the KD-Tree first. You can to this with the bug Unlock Point Picker button. In order to automatically build the KD-Tree every time you load a point-cloud, check the Automatically Unlock after loading checkbox.

If you try to pick a point (by clicking the right mouse button) without building the KD-Tree first, a remonder dialog will open and allow you to immediately build the KD-Tree:
screenshot

Known Issues

Currently, no optimization technique is applied. When the pointcloud size exceeds the available video memory, the application will probably crash.