#gamedev #graphics #meshing #meshopt

bin+lib meshopt-rs

Pure Rust implementation of the meshoptimizer library

3 releases

Uses new Rust 2021

0.1.2 Nov 12, 2022
0.1.1 Oct 9, 2022
0.1.0 Oct 3, 2022

#14 in Data formats

Download history 20/week @ 2022-09-29 127/week @ 2022-10-06 59/week @ 2022-10-13 56/week @ 2022-10-20 53/week @ 2022-10-27 93/week @ 2022-11-03 89/week @ 2022-11-10 53/week @ 2022-11-17 61/week @ 2022-11-24 49/week @ 2022-12-01

269 downloads per month

MIT license

220KB
4.5K SLoC

meshopt-rs

Crates.io Docs.rs Build Status

Pure Rust implementation of the awesome meshoptimizer library.

If you want to use the original C++ implementation from Rust, check out the meshopt crate.

Features

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"] }

Performance

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.

Contributing

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.

No runtime deps