#graphics #meshing #gamedev #meshopt

bin+lib meshopt-rs

Pure Rust implementation of the meshoptimizer library

3 releases

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

#136 in Data formats

Download history 38/week @ 2024-06-16 31/week @ 2024-06-23 47/week @ 2024-06-30 41/week @ 2024-07-07 9/week @ 2024-07-21 61/week @ 2024-07-28 2/week @ 2024-08-04 13/week @ 2024-08-18 19/week @ 2024-08-25 49/week @ 2024-09-01 25/week @ 2024-09-08 23/week @ 2024-09-15 70/week @ 2024-09-22 44/week @ 2024-09-29

168 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