Skip to content

v0.19

Compare
Choose a tag to compare
@zeux zeux released this 29 Apr 18:36
· 779 commits to master since this release
fbe26ff

This release contains several meshoptimizer and gltfpack fixes/improvements as well as tweaks for the JavaScript library. Notably, -vpf mode in gltfpack can simplify integration into applications that are very sensitive to the scene graph structure as it allows to preserve it better than the default quantization mode does without resorting to disabling quantization entirely.

Library improvements

  • Improve meshopt_decodeVertexBuffer performance by 5-10% for Intel/AMD and 15-25% for ARM
  • Improve scoring heuristic for meshopt_buildMeshlets which results in ~2% fewer meshlets with ~5% smaller radius on average
  • Improve meshopt_encodeFilterExp performance by ~3x and make the encoder more flexible with the new mode parameter
  • Fix compilation issues with Android NDK 19c and some Emscripten build configurations

gltfpack improvements

  • Add floating-point position quantization (-vpf) which removes the need for dequantization transforms at some cost to geometry size
  • Add support for border locking during simplification via -slb which can fix gaps between different meshes
  • When using -vpf or -noq, meshes will usually be attached directly to their source nodes without new intermediate nodes
  • Skin names are now preserved when present in the input file
  • Fix material optimization when both a metallic-roughness model and a specular-glossiness model was used with inconsistent transparency

JavaScript improvements

  • Add exports and update type definitions for MeshoptSimplifier
  • Reduce memory consumption of MeshoptSimplifier by 3-4x
  • Add WebWorker support to MeshoptDecoder (via MeshoptDecoder.useWorkers)

Thanks to @donmccurdy, @LilyWangLL, @daemyung, @DavidKorczynski, @rafern, @Kuranes and @mosra for contributions to this release!