1 |
|
2 | <p align="center">
|
3 | <img src="https://github.com/google/draco/raw/master/docs/DracoLogo.jpeg" />
|
4 | </p>
|
5 |
|
6 | News
|
7 | =======
|
8 | ### Version 1.3.4 release
|
9 | * Fixes for Unity
|
10 |
|
11 | ### Version 1.3.3 release
|
12 | * Added ExpertEncoder to the JavaScript API
|
13 | * Allows developers to set quantization options per attribute id
|
14 | * Bug fixes
|
15 |
|
16 | ### Version 1.3.2 release
|
17 | * Bug fixes
|
18 |
|
19 | ### Version 1.3.1 release
|
20 | * Fix issue with multiple attributes when skipping an attribute transform
|
21 |
|
22 | ### Version 1.3.0 release
|
23 | * Improved kD-tree based point cloud encoding
|
24 | * Now applicable to point clouds with any number of attributes
|
25 | * Support for all integer attribute types and quantized floating point types
|
26 | * Improved mesh compression up to 10% (on average ~2%)
|
27 | * For meshes, the 1.3.0 bitstream is fully compatible with 1.2.x decoders
|
28 | * Improved JavaScript API
|
29 | * Added support for all signed and unsigned integer types
|
30 | * Added support for point clouds to our JavaScript encoder API
|
31 | * Added support for integer properties to the PLY decoder
|
32 | * Bug fixes
|
33 |
|
34 | Description
|
35 | ===========
|
36 |
|
37 | [Draco] is a library for compressing and decompressing 3D geometric [meshes] and
|
38 | [point clouds]. It is intended to improve the storage and transmission of 3D
|
39 | graphics.
|
40 |
|
41 | Draco was designed and built for compression efficiency and speed. The code
|
42 | supports compressing points, connectivity information, texture coordinates,
|
43 | color information, normals, and any other generic attributes associated with
|
44 | geometry. With Draco, applications using 3D graphics can be significantly
|
45 | smaller without compromising visual fidelity. For users, this means apps can
|
46 | now be downloaded faster, 3D graphics in the browser can load quicker, and VR
|
47 | and AR scenes can now be transmitted with a fraction of the bandwidth and
|
48 | rendered quickly.
|
49 |
|
50 | [Draco] is released as C++/Javascript source code that can be used to compress 3D
|
51 | graphics as well as decoders for the encoded data.
|
52 |
|
53 | NPM Package
|
54 | ===========
|
55 |
|
56 | The code shows a simple example of using Draco encoder and decoder with Node.js.
|
57 | `draco_encoder_node.js` and `draco_decoder_node.js` are modified Javascript
|
58 | encoding/decoding files that are compatible with Node.js.
|
59 | `draco_nodejs_example.js` has the example code for usage.
|
60 |
|
61 | How to run the code:
|
62 |
|
63 | (1) Install draco3d package :
|
64 |
|
65 | ~~~~~ bash
|
66 | $ npm install draco3d
|
67 | ~~~~~
|
68 |
|
69 | (2) Run example code to test:
|
70 |
|
71 | ~~~~~ bash
|
72 | $ cp node_modules/draco3d/draco_nodejs_example.js .
|
73 | $ cp node_modules/draco3d/bunny.drc .
|
74 | $ node draco_nodejs_example.js
|
75 | ~~~~~
|
76 |
|
77 | The code loads the [Bunny] model, it will first decode to a mesh
|
78 | and then encode it with different settings.
|
79 |
|
80 | References
|
81 | ==========
|
82 | [Draco]: https://github.com/google/draco
|
83 | [meshes]: https://en.wikipedia.org/wiki/Polygon_mesh
|
84 | [point clouds]: https://en.wikipedia.org/wiki/Point_cloud
|
85 | [Bunny]: https://graphics.stanford.edu/data/3Dscanrep/
|
86 |
|
87 | Bunny model from Stanford's graphic department <https://graphics.stanford.edu/data/3Dscanrep/>
|