https://github.com/yzsolt/meshopt-rs
Pure Rust implementation of the meshoptimizer library
https://github.com/yzsolt/meshopt-rs
Last synced: about 1 year ago
JSON representation
Pure Rust implementation of the meshoptimizer library
- Host: GitHub
- URL: https://github.com/yzsolt/meshopt-rs
- Owner: yzsolt
- License: mit
- Created: 2021-01-12T11:28:36.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2022-11-12T16:27:51.000Z (over 3 years ago)
- Last Synced: 2025-04-03T16:05:30.677Z (about 1 year ago)
- Language: Rust
- Size: 235 KB
- Stars: 27
- Watchers: 3
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README
# meshopt-rs
[](https://crates.io/crates/meshopt-rs)
[](https://docs.rs/meshopt-rs)
[](https://github.com/yzsolt/meshopt-rs/actions)
Pure Rust implementation of the awesome [meshoptimizer](https://github.com/zeux/meshoptimizer) library.
If you want to use the original C++ implementation from Rust, check out the [meshopt](https://crates.io/crates/meshopt) crate.
## Features
`meshoptimizer` v0.15 feature level is the current support target. Planned but currently missing features:
- [SIMD support](https://github.com/yzsolt/meshopt-rs/issues/1)
- [WASM support](https://github.com/yzsolt/meshopt-rs/issues/2)
Experimental features (hidden behind `MESHOPTIMIZER_EXPERIMENTAL` in the original implementation) can be enabled with the `experimental` Cargo feature:
```toml
[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](https://github.com/yzsolt/meshopt-rs/issues/1).
## 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.