Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draco extension for point clouds #1809

Open
lilleyse opened this issue May 6, 2020 · 2 comments
Open

Draco extension for point clouds #1809

lilleyse opened this issue May 6, 2020 · 2 comments

Comments

@lilleyse
Copy link
Contributor

lilleyse commented May 6, 2020

KHR_draco_mesh_compression has this restriction on geometry types:

When using this extension, the mode of primitive must be either TRIANGLES or TRIANGLE_STRIP and the mesh data will be decoded accordingly.

The Draco bitstream supports point cloud compression but POINTS support didn't make it into the glTF extension. For point clouds we see a 2.4x size reduction compared to the 16-bit quantized data (KHR_mesh_quantization) and it would be great to take advantage of this in glTF. Source on those numbers here - and note, this was tested with a Draco point cloud extension specific to 3D Tiles but results should be the same for glTF.

We're in the process of moving all 3D Tiles formats to glTF, point clouds included, and this would be a welcome extension. Are others interested in this?

@lilleyse
Copy link
Contributor Author

lilleyse commented May 6, 2020

For the actual extension, I wonder if it could be as simple as allowing the glTF to override the mode restriction and use 0 (POINTS). Possibly no schema changes, the glTF would just need to include the extension in extensionsUsed/extensionsRequired. I'm not sure if this is considered good practice, but throwing it out there.

@zeux
Copy link
Contributor

zeux commented May 8, 2020

An alternative solution to this is #1702 which you can try by using gltfpack; make sure to match position quantization settings with Draco though since I believe Draco uses less than 16 bits by default.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants