Draco compression support in TinyGltfImporter
The current version in magnum-plugins is 2.0.0 and the latest tinygltf is 2.4.1
// Version:
// - v2.4.1 Fix some glTF object class does not have extensions and/or
// extras property.
// - v2.4.0 Experimental RapidJSON and C++14 support(Thanks to @jrkoone).
// - v2.3.1 Set default value of minFilter and magFilter in Sampler to -1.
// - v2.3.0 Modified Material representation according to glTF 2.0 schema
// (and introduced TextureInfo class)
// Change the behavior of Value::IsNumber. It return true either the
// value is int or real.
// - v2.2.0 Add loading 16bit PNG support. Add Sparse accessor support(Thanks
// to @Ybalrid)
// - v2.1.0 Add draco compression.
// - v2.0.1 Add comparsion feature(Thanks to @Selmar).
// - v2.0.0 glTF 2.0!.
Hi,
is there a particular bugfix / feature in the newer versions that you need?
I'm planning to either switch to the RapidJSON version at some point or implement a lighter-weight importer based on cgltf instead. Besides that I don't want to be updating this dependency unless absolutely necessary. Many of the new features (16bit PNGs, sparse accessors) are already handled on the engine side, others are not used at all; Draco compression is unfortunately too huge to be bundled (it needs a bunch of other files).
The draco compression was the thing I was hoping for.
Sent from my iPhone
On Dec 10, 2019, at 2:38 AM, Vladimír Vondruš [email protected] wrote:
Hi,
is there a particular bugfix / feature in the newer versions that you need?
I'm planning to either switch to the RapidJSON version at some point or implement a lighter-weight importer based on cgltf instead. Besides that I don't want to be updating this dependency unless absolutely necessary. Many of the new features (16bit PNGs, sparse accessors) are already handled on the engine side, others are not used at all; Draco compression is unfortunately too huge to be bundled (it needs a bunch of other files).
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.
Ah :) What's your system? Looking around, I see Draco packaged for vcpkg and Homebrew, so that could be used I guess, plus I'd need to package it for ArchLinux at least... and then the plugin could depend on this as an external library.
I'm using an Emscripten build right now.
Randy
On Tue, Dec 10, 2019 at 2:48 AM Vladimír Vondruš [email protected] wrote:
Ah :) What's your system? Looking around, I see Draco packaged for vcpkg and Homebrew, so that could be used I guess, plus I'd need to package it for ArchLinux at least... and then the plugin could depend on this as an external library.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/mosra/magnum-plugins/issues/75?email_source=notifications&email_token=AHHS5BJ35YHTCK6NW53WPJ3QX5CVZA5CNFSM4JYRHOHKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGOJKBA#issuecomment-563909892, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHHS5BP3TQJ7FV7VYFMSSGDQX5CVZANCNFSM4JYRHOHA .
Oh. That's probably the most unfortunate target platform for Draco, since it inflates your download by about half a megabyte just for the decoder. For context: https://twitter.com/zeuxcg/status/991516674472919041 and especially https://twitter.com/zeuxcg/status/991698007778246656 .
What I'm considering (and looking forward to) instead is integrating meshoptimizer / gltfpack (https://github.com/zeux/meshoptimizer). Also see the proposed MESHOPT_compression extension: https://github.com/KhronosGroup/glTF/pull/1702 .
I did you guys the favor of updating tiny_gltf, since I need KHR_lights_punctual when importing files from Blender 2.8.
https://github.com/mosra/magnum-plugins/pull/77
As of 7345d789638edf39e9a7c062c27110ac2ffa75bc and 80028f6f130a41015184de7a8195b9827f66874d there's support for KHR_mesh_quantization, which is closely related to MESHOPT_compression.