Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cgtuebingen/pointcloud-viewer
Efficient Large-Scale Point-Cloud Viewer based on OpenGL
https://github.com/cgtuebingen/pointcloud-viewer
gles glut large-scale opengl point-cloud qt scientific-visualization viewer visualization
Last synced: about 2 months ago
JSON representation
Efficient Large-Scale Point-Cloud Viewer based on OpenGL
- Host: GitHub
- URL: https://github.com/cgtuebingen/pointcloud-viewer
- Owner: cgtuebingen
- License: gpl-3.0
- Archived: true
- Created: 2018-04-24T11:47:28.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-04-16T12:24:45.000Z (over 4 years ago)
- Last Synced: 2024-08-01T03:25:21.347Z (5 months ago)
- Topics: gles, glut, large-scale, opengl, point-cloud, qt, scientific-visualization, viewer, visualization
- Language: C++
- Homepage: http://pointcloudviewer.org
- Size: 1.55 MB
- Stars: 78
- Watchers: 10
- Forks: 27
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Point Cloud Viewer
[![Build Status TensorFlow](https://ci.patwie.com/api/badges/cgtuebingen/pointcloud-viewer/status.svg)](http://ci.patwie.com/cgtuebingen/pointcloud-viewer)
This tool allows viewing huge point clouds and export a flight through ([as used in this video](https://youtu.be/5ftWmuQXU_s?t=46)).
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-devClone with
git clone [email protected]:cgtuebingen/pointcloud-viewer.git
cd pointcloud-viewer/
git submodule update --initCompile with
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ../src
make -j8Run 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
**View > Navigation > Blender**
- MeshLab
**View > Navigation > MeshLab**### Blender Inspired Navigation Scheme
In the Blender Navigation scheme, you will see a grid:
![screenshot](doc/images/navigation_blender_grid.png)
You have three different ways to navigate:
- **First Person Navigation**
This Navigation resembles the movement of a first person shooter game.1. Enter the first person navigation by pressing ![the shift key](doc/images/key_shift.svg)+![the f key](doc/images/key_f.svg)
2. Move around
- Look around by moving your mouse
- Move forward/backward by holding ![the w key](doc/images/key_w.svg)/![s key](doc/images/key_s.svg)
- Move left/right by holding ![the a key](doc/images/key_a.svg)/![d key](doc/images/key_d.svg)
- Move up/down by holding ![the e key](doc/images/key_e.svg)/![q key](doc/images/key_q.svg)
- You can roll the camera by scrolling with ![your mouse wheel](doc/images/button_middle.svg)
- To reset the rolling, just press ![the middle mouse button](doc/images/button_middle.svg) while holding ![the ctrl key](doc/images/key_ctrl.svg).
3. Leave the first person navigation
- Keeping the new position by pressing ![the enter key](doc/images/key_enter.svg) or ![the left mouse button](doc/images/button_left.svg)
- Undo the position and reset to the old one by pressing ![the esc key](doc/images/key_esc.svg) or ![the right mouse button](doc/images/button_right.svg)
- **Turntable Navigation**
This Navigation allows a quickly switching the perspective on the point cloud.- For turning the view around the object, hold ![the middle mouse button](doc/images/button_middle.svg) and move your mouse.
- For shifting the view orthogonal to the view direction, hold ![the shift key](doc/images/key_shift.svg) and ![the middle mouse button](doc/images/button_middle.svg) and move your mouse.
- For changing the distance to the object, scroll with ![your mouse wheel](doc/images/button_middle.svg) or hold ![the ctrl key](doc/images/key_ctrl.svg) and ![the middle mouse button](doc/images/button_middle.svg) and move your mouse.
- **Selecting Points**
You can quickly select a point and move towards it.- To select a single point, right click it ![with the right mouse button](doc/images/button_right.svg).
- To center the view around the selected point, press ![](doc/images/key_comma.svg) (the comma key).### MeshLab Inspired Navigation Scheme
In the Blender Navigation scheme, you will see a trackball:
![screenshot](doc/images/navigation_meshlab_trackball.png)
You have three different ways to navigate:
- **First Person Navigation**
- Usage is the same as in the Blender Navigation Scheme
- **Trackball Navigation**
This Navigation allows a quickly switching the perspective on the point cloud.- For turning the view around the object, rotate the trackball by moving it with the mouse while holding ![the left mouse button](doc/images/button_left.svg).
- For shifting the view orthogonal to the view direction, move the trackball with the mouse while holding ![the ctrl key](doc/images/key_ctrl.svg) and ![the left mouse button](doc/images/button_left.svg).
- For changing the distance to the object, scroll with ![your mouse wheel](doc/images/button_middle.svg) or move the trackball with the mouse while holding ![the shift key](doc/images/key_shift.svg) and ![the left mouse button](doc/images/button_left.svg).
- **Selecting Points**
You can quickly select a point and move towards it.- To select a single point, right click it ![with the right mouse button](doc/images/button_right.svg).
- To center the view around a point, double click it with ![the left mouse button](doc/images/button_left.svg) or ![the middle mouse button](doc/images/button_middle.svg)Additionally, you can change the render properties:
- To change the point rendering size, hold ![the alt key](doc/images/key_alt.svg) and scroll with ![your mouse wheel](doc/images/button_middle.svg)
## 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](doc/images/key_i.svg).
More options for changing the flythrough camera animation can be found in the **Flythrough-Tab** (red):
![screenshot](doc/images/tab_flythrough_overview.png)
- With the **Flythrough Menu** (yellow), you can
- export the current flythrough path
- import an already created flythrough path
- In the **Keypoints List** (blue), you can reorder keypoints and remove unwanted keypoints.
- In the **Playback Area** (green), you can modify the
- duration of the whole flythrough
- velocity of the camera
- interpolation between points## Usage: Render
You can render the frames of the animation to single png files. To do this, go the the **Render-Tab** (red):
![screenshot](doc/images/tab_render.png)
- With the **Render Button** (blue), you start the Rendering Process and start the rendering process. If this button is grayed out, you need to create a key-point for the animation (you can press ![the i key](doc/images/key_i.svg) for creating a single key-point at the current camera location).
- You can customize the style
- Change the brightness of the background (0 is black, 255 is white and 54 the default brightness)
- Change the point size## 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](doc/images/tab_data_inspection.png)
Here, you can
- Build the KD-Tree (blue)
- See information of the selected point (green)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](doc/images/button_right.svg)) without building the KD-Tree first, a remonder dialog will open and allow you to immediately build the KD-Tree:
![screenshot](doc/images/dialog_build_kdtree_now.png)## Known Issues
Currently, no optimization technique is applied. When the pointcloud size exceeds the available video memory, the application will probably crash.