← All ideas

[Feature Request] Support COPC tiled pointcloud format

Note: similar in a way to the feature request to support OGC 3D Tiles within Blender.

COPC
The COPC (Cloud Optimized PointCloud) file format is another format to stream and tile massive 3D scans (pointclouds only), which was initially designed by the Hobu team and designed in a similar way COG was designed (Cloud Optimized Geotiff) - pioneered by a community effort led by Chris Holmes for cloud native geospatial users.
It is receiving strong support from the cloud native geospatial community - for example, QGIS just had it integrated within the stable releases thanks to a joint effort between Lutra Consulting and Hobu . It is an extension to the laz (zipped las) file format, and is therefore at least supported by all major pointcloud management suites - whether open-source (like CloudCompare) or commercial, although most do not see the hierarchical structure yet, but they do understand the file as a whole pointcloud. It stores tiles of pointcloud data as contiguous memory blocks - respects the data contiguity - and down-sampled lower-resolution versions as hierarchical representation of the whole pointcloud.

Benefit of COPC over 3D Tiles
An important addition with respect to OGC 3D Tiles (not 3D Tiles Next) is that rather than dealing with loads of tiles (several 100.000s files for some massive scans), the COPC is a self contained single laz file, with the header detailing the way the hierarchy is stored on disk. Some viewers like the official copc viewer make use of HTTP range requests to fetch only the interesting bits of 3D tiles within the whole file - enabling a new instant visualization within pointclouds made of several billion points, by loading only the most important 10M points to get the lowest screen space error. The fact that it builds on top of the laz standard makes it more resilient to newest standardization efforts and make it already widely usable by most professionals.

Feature request
It would be great for Blender to support COPC for viewing and rendering, from the local filesystem or a distant server, as this format will become the de-facto standard to store and share massive pointclouds and 3D scan data - photogrammetric, laser scan, etc. By setting a max point budget of a few millions (10-50M), a very good and accurate representation could be retrieved for any camera viewpoint, by smartly fetching the right tiles of 3D data - please let the official viewer load a massive 3D scans of a few billion points. Some guidelines might be found in the tiles streaming and fetching implementations from CesiumJS oss code, the loaders.gl tiles , 3D tiles , potree code, or the BlenderGIS plugin.

100%

Development Status: Open

Upvote 3 Downvote 0
jochemla
18 Jul 2022

0 Comments