C++ Library for 3D Data Compression
Having powerful CPUs, higher resolution displays, powerful video cards are important when it comes to quality 3D experiences. But on the other hand, it also demands to have a speedy download and upload. That’s why many companies have spent a great amount of time and resources to find new ways to handle these issues. Keep all those things is mind Google has a new compression library for 3D models know as Draco.
Draco is an open source compression library that has provided complete functionality for compressing and decompressing 3D data using C++ code. The library fully supports compressing and decompressing 3D geometric meshes with high speed and accuracy. The library allows compressing points, connectivity information, texture coordinates, color information, and any other generic attributes associated with geometry.
The compression format for KML files is the standard ZIP format. The library aimed to enhance the storage and transmission of 3D graphics. The great thing about the library is that it supports high compression rates for 3D graphics and much quicker page loads for web pages with 3D graphics. The algorithm supports both lossy and lossless modes.
At A Glance
An overview of Draco features.
- Compress 3D data
- Decompress 3D data
- Enhanced speed
- 3D models
- 3D geometric meshes
- Texture coordinates
- 3D transmission
- Create ZIP-archives
- Modify ZIP-archives
- Unzipping ZIP files
Draco only requires C++ runtime for smooth working.
Getting Started with Draco
The recommended way to install Draco is from GitHub, Please use the following command for smooth installation
Compile Draco library as a dynamic library
go get https://github.com/google/draco.git
3D Model Compression via Draco
The open source library Draco enables software developers to compress 3D model data with ease inside their own applications. It is often seen that the size of 3D data is very large and users face difficulty while uploading and downloading it. The library uses lossy or lossless compression algorithm depending on the input data. This has been observed the library is very accurately compressing 3D models and makes users job easy while uploading data to their servers.
The Draco library enables software developers to compress and decompress their 3D meshes inside their own apps. The Draco library has provided an encoder API which can be used to compressed mesh and point cloud. The library is helpful to reduce the size of 3D content which leads to improved efficiency and speedy transmission of 3D content over the web. You can easily construct a mesh from geometry data, add indices to it, and add attribute data. Once constructed, you can compress it with ease.
Encode Custom 3D Data via Metadata API
The Draco library has provided support for encoding data other than geometry. The library could be used to encode any custom data along with the geometry, such as name of attributes, name of sub-objects and customized information. A mesh can have a top-level metadata as well as hierarchical metadata and attribute metadata. The library helps developers to initialize the correspondent attribute id within the mesh with ease.