google / draco

Draco is a library for compressing and decompressing 3D geometric meshes and point clouds. It is intended to improve the storage and transmission of 3D graphics.
https://google.github.io/draco/
Apache License 2.0
6.44k stars 961 forks source link

Can I use draco to Compress 3DTiles?And How? #543

Open felix0917 opened 5 years ago

FrankGalligan commented 4 years ago

Do you have a link to what "3DTiles" you are asking about?

felix0917 commented 4 years ago

yes,this is the link(https://github.com/CesiumGS/3d-tiles),thanks for your help

At 2020-02-15 08:11:23, "FrankGalligan" notifications@github.com wrote:

Do you have a link to what "3DTiles" you are asking about?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

javagl commented 1 year ago

3D Tiles itself does not directly define the storage of "geometry data". It only defines a JSON structure that is used for organizing a huge amount of 3D content, so that it can be delivered and rendered efficiently.

That being said: The "tile content" (i.e. the actual geometry data) that 3D Tiles refers to can come in different formats. And one geometry content format that is supported by 3D Tiles is glTF. And glTF can use Draco via the KHR_draco_mesh_compression extension. This is also supported by many viewers (for example, CesiumJS, when you want to load 3D Tiles).

So ... yes, you can somehow use Draco to compress 3D Tiles - namely by compressing each tile content, and storing it as a glTF.