Pure Rust implementation of the awesome meshoptimizer library.
If you want to use the original C++ implementation from Rust, check out the meshopt crate.
meshoptimizer
v0.15 feature level is the current support target. Planned but currently missing features:
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.