README.md

    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 or as a desktop application with 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

    Getting Started

    1. Download windows binaries or
      • Download source code
      • Install CMake 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 <input> -o <outputDir>
      • Optionally specify the sampling strategy:
      • Poisson-disk sampling (default): PotreeConverter.exe <input> -o <outputDir> -m poisson
      • Random sampling: PotreeConverter.exe <input> -o <outputDir> -m random

    In Potree, modify one of the examples with following load command:

    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):

    License

    PotreeConverter is available under the BSD 2-clause license.

    项目简介

    🚀 Github 镜像仓库 🚀

    源项目地址

    https://github.com/potree/PotreeConverter

    发行版本

    当前项目没有发行版本

    贡献者 29

    全部贡献者

    开发语言

    • JavaScript 82.5 %
    • C++ 8.9 %
    • C 7.8 %
    • HTML 0.3 %
    • CSS 0.2 %