Pure Rust implementation of the awesome meshoptimizer library.
If you want to use the original C++ implementation from Rust, check out the meshopt crate.
Most meshoptimizer v0.22 features are supported, expect:
Porting all v1.0 features is still in progress, done in incremental steps.
Experimental features (hidden behind MESHOPTIMIZER_EXPERIMENTAL in the original implementation) can be enabled with the experimental Cargo feature:
[dependencies]
meshopt-rs = { version = "0.1", features = ["experimental"] }Depends on the algorithm: some are in the same ballpark as the original, most are slightly (10-20%) and a few are much (50-100%) slower than the original implementation. Only a small amount of performance work has been done so far. Ideally all algorithms should reach at least 90-95% of the original implementation's performance.
Also note that SIMD support (utilized by vertex buffer decoding/filtering) is currently missing.
meshopt-rs is licensed under MIT, just like meshoptimizer. Contributions are welcome!
Since this is a parallel implementation of an existing and actively developed library, the original implementation is followed as closely as possible: similar naming, documentation and code structure; to help porting new features and bug fixes in the future.