New Release – Potree 1.1

Changelog – Potree
Changelog – PotreeConverter

The most important changes are:

  • Potree format 1.6 with better support for very large point clouds (>1billion points). Hierarchy has been taken out ofcloud.js to reduce file size and nodes in the data folder are stored in a hierarchical directory structure.
  • EarthControls navigation mode for faster and more precise navigation in large landscapes.
  • PotreeConverter automatically generates a web page if the –generate-page parameter is specified.

New Release – Potree 1.0RC

Try it out, it’s great! :)
It’s RC until it survives the first wave of feedbacks and I’ve finished an API reference.

With this, the previous roadmap has been finished. What’s left to do are more examples to demonstrate the features. This will hapen within the next few weeks.

You can get the source code here:
Documentation is here: Documentation; User Interface Documentation
Windows binaries for the converter are here: Downloads

I will continue to develop this, now as master thesis under the Harvest4D Project

Thanks to Martin Isenburg, Georepublic, Sigeom Sa, SITN,Pix4D, Howard Butler and Uday Verma as well as everyone else who contributed. And Open Topography for their awesome repository of freely available point cloud data.

And of course, here are 4 new demos:


sigeom sa


Lion – LAZ compressed


For anyone interested in using potree, here is a list of what potree can do and what I’m working on:

What potree can do:

  • Render large(>100m points) colored point clouds in all major web browsers.
  • Based on three.js so it can also do everything three.js can.
  • Variable Level of Detail, point spacing and octree depth as trade of between performance and quality.
  • Just take a look at the showcase to get an impression of what it can do!

What I’m working on:

  • Render uncolored LIDAR data.
  • Improving converting and rendering of LIDAR data which usually has large width and depth but low height.
  • Additional materials for intensity, height, return type, etc.
  • Data compression for faster loading, now possible thanks to the Javascript LAZ implementation of Uday Verma and Howard Butler.
  • Georeferencing or at least handling huge coordinates. Georeferenced point clouds tend to have huge coordinates which causes a loss of precision and therefore jitter in points and camera movement.
  • improve culling of unnecessary/invisible nodes
  • Tools like distance measurement and clipping planes.
  • High quality shaders
  • Improved data structures to speed up loading and rendering

Send me an email if you’ve got nice point clouds to provide for the showcase. (preferably in las or laz format)

three.js based rewrite release

The rewrite is now in the master branch. Get the source code at github.
The previous stable release is still available in the archive_latest_before_threejs branch.

Documentation is outdated and has been removed. Take a look at the examples to see how potree is used.

The online-demos have been updated as well. Click on an image to open a demo page:




Ecosynth – Forest

Vienna Parliament Relief


Rewriting potree using three.js

I’m currently working on rewriting potree in three.js. With this, you will be able to render huge point clouds as well as everything three.js has to offer.

Here are some demos of the current state:
* Distance Measuring
* Skyboxes
* Using one point cloud multiple times in a scene

The threejs based rewrite is available at:
It is not stable, yet, but it will become the main branch soon so it might be a good idea to experiment with it instead of the master branch.

PLY Viewer

Here is a PlyViewer demo: PlyViewer

Just Drag&Drop your ply file into the black area and wait until it’s loaded.
For now, only PLY files with float xyz and uchar rgb and up to ~8m points are supported. For example:

element vertex 462312
property float x
property float y
property float z
property uchar red
property uchar green
property uchar blue

If you don’t have a supported ply file, try this one: vienna_parliament_relief.ply

This is what it looks like:

PotreeConverter with support for LAS, PLY and XYZ files

Download Windows 64bit binaries:

PotreeConverter can now transform following file formats into the potree format:

  • las files with XYZ and 2-byte RGB data.
  • ply files with “element vertex” as the first element and x,y,z,r,g,b properties. Subsequent elements will be ignored. xyz must be floats and r,g,b must be uchars. ASCII and binary_little_endian formats are supported.
  • xyz files with either xyzrgb or xyzi data. Specify the type, as well as the range of the data with the -f and -r options.

Usage has changed in favour of unix-like arguments:

-h [ --help ]             prints usage
-o [ --outdir ] arg       output directory
-s [ --spacing ] arg      Distance between points at root level. Distance
                          halves each level.
-l [ --levels ] arg       Number of levels that will be generated. 0: only
                          root, 1: root and its children, ...
-f [ --input-format ] arg Input format. xyz: cartesian coordinates as floats,
                          rgb: colors as numbers, i: intensity as number
-r [ --range ] arg        Range of rgb or intensity.
--source arg              Source file. Can be LAS, PLY or XYZ


# convert ply files
./PotreeConverter.exe C:/data.ply -s 0.5 -l 4

# convert las files
./PotreeConverter.exe C:/data.las -s 0.5 -l 4 -o C:/potree_converted

# convert files in the xyzrgb format with rgb between 0 and 255
./PotreeConverter.exe C:/ -f xyzrgb -r 255

# convert files in the xyzi format with intensity between 0 and 65536
./PotreeConverter.exe C:/ -f xyzi -r 65536

Read more at: