KhronosGroup / KhronosGroup/glTF
Draco extension for point clouds
- Dominant language
- HTML
- Stars
- 7.8k
- Forks
- 1.2k
- Avg merge
- 17h 26m
- Merged PRs (30d)
- 5
Description
[KHR_draco_mesh_compression](https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/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](https://github.com/KhronosGroup/glTF/blob/master/extensions/2.0/Khronos/KHR_mesh_quantization/README.md)) and it would be great to take advantage of this in glTF. Source on those numbers [here](https://cesium.com/blog/2019/02/26/draco-point-clouds/) - 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?
Contributor guide
Research direction
Start with the KHR_draco_mesh_compression extension and compare its TRIANGLES/TRIANGLE_STRIP restriction with the KHR_mesh_quantization document. The issue proposes support for POINTS and cites a 3D Tiles Draco point-cloud extension; done would require a defined glTF extension proposal rather than a scoped code edit.
Written by the indexing model from the issue text.
Assessment
- Domain
- computer-graphics
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100