Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/potree/PotreeConverter
Create multi res point cloud to use with potree
https://github.com/potree/PotreeConverter
Last synced: about 1 month ago
JSON representation
Create multi res point cloud to use with potree
- Host: GitHub
- URL: https://github.com/potree/PotreeConverter
- Owner: potree
- License: bsd-2-clause
- Created: 2014-02-08T09:23:58.000Z (almost 11 years ago)
- Default Branch: develop
- Last Pushed: 2024-08-09T16:23:08.000Z (4 months ago)
- Last Synced: 2024-11-09T08:43:32.472Z (about 1 month ago)
- Language: JavaScript
- Homepage: http://potree.org
- Size: 31.5 MB
- Stars: 685
- Watchers: 69
- Forks: 425
- Open Issues: 161
-
Metadata Files:
- Readme: README.md
- Funding: FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-robotic-tooling - PotreeConverter - Builds a potree octree from las, laz, binary ply, xyz or ptx files. (Sensor Processing / Lidar and Point Cloud Processing)
- awesome - potree/PotreeConverter - Create multi res point cloud to use with potree (JavaScript)
- awesome - potree/PotreeConverter - Create multi res point cloud to use with potree (JavaScript)
README
# About
PotreeConverter generates an octree LOD structure for streaming and real-time rendering of massive point clouds. The results can be viewed in web browsers with [Potree](https://github.com/potree/potree) or as a desktop application with [PotreeDesktop](https://github.com/potree/PotreeDesktop).
Version 2.0 is a complete rewrite with following differences over the previous version 1.7:
* About 10 to 50 times faster than PotreeConverter 1.7 on SSDs.
* Produces a total of 3 files instead of thousands to tens of millions of files. The reduction of the number of files improves file system operations such as copy, delete and upload to servers from hours and days to seconds and minutes.
* Better support for standard LAS attributes and arbitrary extra attributes. Full support (e.g. int64 and uint64) in development.
* Optional compression is not yet available in the new converter but on the roadmap for a future update.Altough the converter made a major step to version 2.0, the format it produces is also supported by Potree 1.7. The Potree viewer is scheduled to make the major step to version 2.0 in 2021, with a rewrite in WebGPU.
# Publications
* [Potree: Rendering Large Point Clouds in Web Browsers](https://www.cg.tuwien.ac.at/research/publications/2016/SCHUETZ-2016-POT/SCHUETZ-2016-POT-thesis.pdf)
* [Fast Out-of-Core Octree Generation for Massive Point Clouds](https://www.cg.tuwien.ac.at/research/publications/2020/SCHUETZ-2020-MPC/), _Schütz M., Ohrhallinger S., Wimmer M._# Getting Started
1. Download windows binaries or
* Download source code
* Install [CMake](https://cmake.org/) 3.16 or later
* Create and jump into folder "build"
```
mkdir build
cd build
```
* run
```
cmake ../
```
* On linux, run: ```make```
* On windows, open Visual Studio 2019 Project ./Converter/Converter.sln and compile it in release mode
2. run ```PotreeConverter.exe -o ```
* Optionally specify the sampling strategy:
* Poisson-disk sampling (default): ```PotreeConverter.exe -o -m poisson```
* Random sampling: ```PotreeConverter.exe -o -m random```In Potree, modify one of the examples with following load command:
```javascript
let url = "../pointclouds/D/temp/test/metadata.json";
Potree.loadPointCloud(url).then(e => {
let pointcloud = e.pointcloud;
let material = pointcloud.material;material.activeAttributeName = "rgba";
material.minSize = 2;
material.pointSizeType = Potree.PointSizeType.ADAPTIVE;viewer.scene.addPointCloud(pointcloud);
viewer.fitToScreen();
});```
# Alternatives
PotreeConverter 2.0 produces a very different format than previous iterations. If you find issues, you can still try previous converters or alternatives:
PotreeConverter 2.0
PotreeConverter 1.7
Entwine
license
free, BSD 2-clause
free, BSD 2-clause
free, LGPL
#generated files
3 files total
1 per node
1 per node
compression
none (TODO)
LAZ (optional)
LAZ
Performance comparison (Ryzen 2700, NVMe SSD):
![](./docs/images/performance_chart.png)
# Bibtex
```
@article{SCHUETZ-2020-MPC,
title = "Fast Out-of-Core Octree Generation for Massive Point Clouds",
author = "Markus Schütz and Stefan Ohrhallinger and Michael Wimmer",
year = "2020",
month = nov,
journal = "Computer Graphics Forum",
volume = "39",
number = "7",
doi = "10.1111/cgf.14134",
pages = "13",
publisher = "John Wiley & Sons, Inc.",
pages = "1--13",
keywords = "point clouds, point-based rendering, level of detail",
}
```