You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Looks like they are also able to compress mesh connectivity with two different methods, where one of the is the "classic" Edgebreaker algorithm (encoder code here)
From the sources:
// The mesh connectivity data can be encoded using two modes that are controlled
// using a global encoder options flag called "compress_connectivity"
// 1. When "compress_connectivity" == true:
// All point ids are first delta coded and then compressed using an entropy
// coding.
// 2. When "compress_connectivity" == false:
// All point ids are encoded directly using either 8, 16, or 32 bits per
// value based on the maximum point id value.
Getting a reasonable local ordering and then storing deta via deltas with some entropy coding is a pretty established approach, but you'll always have to make sure that your decoding will still fast enough to be worth the effort. WebGL-loader previously used zigzag coding of the deltas and UTF8 encoding to get some cheap variable-length coding method that already works well in the browser, as it is supported natively (you probably know the OpenGL insights article). Here, it looks like they are using Emscripten to get a very optimized, fast decoder in JS.
https://opensource.googleblog.com/2017/01/introducing-draco-compression-for-3d.html
Decode time doesn't look great, but perhaps this is similar to Open3DGC, #398
@mlimper do you have any experience here?
The text was updated successfully, but these errors were encountered: