A library for compressing and decompressing 3D geometric meshes and point clouds to improve storage and transmission.
Draco is a library developed by Google for compressing and decompressing 3D geometric meshes and point clouds. It addresses the challenge of large 3D data sizes by providing efficient lossy compression, enabling faster transmission and reduced storage requirements for applications like web-based 3D graphics, VR, and AR.
Developers and engineers working with 3D graphics in web applications, game engines, VR/AR experiences, or any project requiring efficient storage and streaming of 3D mesh and point cloud data.
Developers choose Draco for its high compression efficiency, speed-optimized decoding, and seamless integration with web technologies through JavaScript and WASM, making it a standard for 3D compression in formats like glTF.
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.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
WASM decoders provide ~200% speed improvements in v1.4.0 and are hosted on GStatic for easy browser integration, reducing load times for web 3D graphics.
Supports compression of positions, normals, colors, and generic attributes with configurable quantization per attribute, allowing tailored balance between size and quality.
Seamlessly works with glTF assets via the draco_transcoder tool and has plugins for Unity and Maya, aligning with standard 3D pipelines and ecosystems.
Offers C++ source code, command-line tools, and JavaScript/WASM decoders, enabling use from desktop applications to web and mobile environments.
The README warns of transient errors from edge caching delays during new releases, forcing reliance on versioned URLs and complicating updates.
Version 1.5.0 introduced renamed configuration variables (e.g., DRACO_GLTF to DRACO_GLTF_BITSTREAM) that can break existing build setups without manual adjustments.
Encoding is slower and resource-intensive, making it impractical for client-side encoding in interactive applications where low latency is critical.