29 Commits

Author SHA1 Message Date
Ondrej Stava
dc28e6a2ea Updated Draco to 1.1.0
The latest version of Draco brings a number of new compression
enhancements for even smaller models:
- Improved compression
  - Up to 40% better compression of normals
  - Up to 5% better compression for models with multiple attributes
- Faster decode speeds
  - 30% faster decoding for models with multiple attributes for lower compression levels 4 and below
    - Note: Decreases compression by 10%.
- Encoding of metadata to .obj (e.g. Draco can preserve material or sub-object names)
- Security fixes
2017-09-11 15:38:19 -07:00
FanZhang
cd70826afe Merge pull request #179 from sjfricke/master
npm: fixed npm example
2017-08-22 12:44:35 -07:00
sjfricke
10586a65bb npm example Merge commit fix 2017-08-22 01:47:59 -07:00
Frank Galligan
c61ddb67f3 Update Draco snapshot.
-Increase version to 1.0.1
-Update Javascript decode timing example
-Fix async creation of DracoDecoderModule
-fixes wasm parallel decoding
-Introduce base class for geometric normal predictor
-Added integer attribute interface to JavaScript decoder
-Move loading Draco decoder into three.js Draco loader
-Add compiler launcher support to CMake build
-Add sanitizer support via CMake build
-Check we are not reading past the end of the attribute buffer
2017-08-21 16:04:57 -07:00
sjfricke
3cbd970d93 npm: fixed npm example
allows draco3d to be called from same directory or npm package
2017-08-11 00:29:05 -07:00
Ondrej Stava
10af829784 Updated Javascript and Wasm decoders with the correct
isVersionSupported() function.
2017-08-02 14:16:49 -07:00
Don McCurdy
f2f4efbc20 Simplify Node.js usage example. (#157)
* Fix 'node' global name in node.js example.

* Include GitHub URL with npm package.json.

* Simplify Node.js usage example.

* Correct attribute stride.

* Correct numVertexCoord -> numItems.

* Fix typo on attr constant.

* Simplify loop iteration.
2017-08-01 17:25:55 -07:00
Ondrej Stava
81d73904ac Draco updated to 1.0.0 version
The latest version of Draco brings many new enhancements to improve the
development experience:
* Stable API release
* Support for npm Javascript package management
* Javascript based encoder
* Generalized metadata for meshes and point clouds
  * Now supporting material properties included along with encoded file
* Improved compression rates:
  * 15% better compression on smaller models
  * 40% better compression of normals
* Performance improvements (~10% faster encoding, decoding)
* Reduced GPU memory usage:
  * Option to store decoded quantized attributes
  * Support for triangle strip connectivity on decoded meshes
* iOS 9 Javascript decoder
* Bitstream specification now available
2017-07-28 14:25:10 -07:00
Ondrej Stava
e14955d9e3 Fixed color loading in our THREE.js example.
1. Proper handling of four component colors (RGBA)
2. Removed normalization step that is done internally in the DracoDecoder.
2017-06-30 10:49:50 -07:00
Ondrej Stava
73bb3c8530 Version 0.10.0 snapshot
- Improved compression for triangular meshes (~10%)
- Added WebAssembly decoder
- Code cleanup + robustness fixes
2017-04-12 12:09:14 -07:00
Ondrej Stava
6763aa325e Our javascript decoders are now built with flag for precise floating
point operations. This should resolve some issues with texture
coordinate compression.
2017-03-30 15:05:31 -07:00
Don McCurdy
4dac78e622 Expose .isVersionSupported() method on THREE.DRACOLoader. (#85)
* Expose .isVersionSupported() method on THREE.DRACOLoader.
2017-03-28 15:43:13 -07:00
Ondrej Stava
c7a5e903e5 1. Added support for loading quad meshes from .obj files
2. Fixed bug in javascript decoders that caused them to fail when
loading large geometries
2017-03-21 16:06:58 -07:00
Don McCurdy
efa5604d64 Simplify steps required to run example. (#78)
* Simplify steps to run example.
2017-03-17 12:30:33 -07:00
gero3
e648e1bde5 Make sure errorMsg is defined (#76) 2017-03-10 07:56:41 -08:00
Ondrej Stava
db5e679828 Updated logging in our THREE.js example
- output to console
- needs to be explicitly enabled by settings a non-zero verbosity level
2017-03-09 16:42:13 -08:00
Ondrej Stava
59b297b18a Improved Javascript decoder size + bugfixing
Changes:
1. Javascript decoder can now be built separately for meshes and point
clouds. Together with other optimizations this results in about 33%
smaller Javascript for mesh decoder. (pre-built javascript for meshes
and point clouds is included).

2. Fixing bug in our symbol_encoder that resulted in failed encoding for
certain cases when there were around 1<<18 symbols.

3. Changing default setting of our draco_encoder app to -cl 7
2017-03-08 15:39:24 -08:00
laurielabs
e85b83b16a fixed threejs example vertex color normal (#74)
* fixed threejs example vertex color normal
2017-03-07 08:32:29 -08:00
Ondrej Stava
0a9c9c7b8b Update to our THREE.js example: DracoModule is now instantiated in
DRACOLoader class using closure to prevent multiple instantiations.
2017-02-28 09:04:51 -08:00
Ondrej Stava
127484be47 Updating draco decoder javascript API and other minor changes.
1. Javascript decoder is now exported as a module using DracoModule()
function that needs to be instantiated on the client.

2. Updated Javascript example applications and README.md

3. Added normalization function to VectorD

4. Added support for converting a single signed value to symbol for
entropy coding and vice versa

5. Minor code cleaning
2017-02-27 15:46:48 -08:00
Frank Galligan
931a1de144 Fix Javascript and Windows builds.
1. Updating our javascript decoders reflecting latest changes.
2. Fix windows testing.
2017-02-17 10:02:19 -08:00
Frank Galligan
a282c3ed5b Optimize three.js rendering and other small fixes.
1. Optimize loading of mesh data into three.js in Chrome.
2. Small refactoring of our traversal encoding code.
2017-02-16 17:27:56 -08:00
Ondrej Stava
ef7ad0fda3 Merging latest changes from the private repo.
1. Added support for loading sub-objects in .OBJ into a generic
attribute.

2. Added missing mesh_are_equivlent classes needed for certain unit
tests.

3. Updated javascript decoder reflecting our latest changes + added
support for GeometryAttribute::custom_id() method.

4. Added checks for valid quantization bits to our draco_encoder app.
2017-02-14 14:33:55 -08:00
Ondrej Stava
8374e14042 Merging changes from our private repo:
1. More optimized selection of prediction schemes for different
compression levels on the encoder side.

2. Improved robustness to tampered input data (.drc)

3. Added support for strognly typed vectors of bools

4. Support for logging and squared lenght to our VectorND class

5. Added support for partially defined indices in .OBJ files

6. Added support for loading of normal vectors in .PLY files
2017-02-08 10:34:40 -08:00
Jeff Nusz
554909a156 check if texCoords defined before looping through all coordinates 2017-01-24 16:54:03 -08:00
Jeff Nusz
c2449397d3 Javascript loader: load texture coordinates 2017-01-24 11:24:24 -08:00
Frank Galligan
3682ca2801 Make decoder more robust, build and Javascript fixes
1. Add 'use strict'to example Javascript.
2. Small fixes to README.md.
3. Fix Draco compiler flag tests.
4. Fixed issue when number of quantized bits was to large.
5. Changed StartDecoding to return a value.
6. Check that num of attributes are not less than 0.
7. Check that the number of attributes is a valid value.
2017-01-23 14:55:45 -08:00
Frank Galligan
6da5d81b21 Roll Draco 2017-01-13 12:06:19 -08:00
Frank Galligan
3c8f789d6a Version 0.9.0 snapshot 2016-12-12 16:39:06 -08:00