quadrs
Experimental quad remeshing library and CLI tools based on Instant Meshes.
Library
The public API is centered around Mesh, RemeshOptions, RemeshTarget, remesh, load_obj, and write_obj.
use ;
let mesh = Mesh ;
let mut options = new;
options.seed = Some;
let result = remesh?;
assert!;
# Ok::
CLI
Build:
Remesh an OBJ file:
Use --seed 1337 to make a run reproducible. If --seed is omitted, remesh seeds itself from the current system time.
Run an end-to-end remesh check:
It uses meshes/<name>.obj when present. For known public meshes such as teapot, it downloads meshes/<name>.obj on first run, builds remesh in release mode, and writes meshes/<name>-remeshed.obj.
Useful tools:
Reference
Run the C++ reference implementation directly:
scripts/run_reference.sh will:
- Check for an existing Instant Meshes binary.
- If missing, clone the reference repository into
/tmp/instant-meshes. - Build it into
/tmp/instant-meshes-build. - Run it with the arguments you provide.
Sources
Original paper:
https://igl.ethz.ch/projects/instant-meshes/instant-meshes-SA-2015-jakob-et-al-compressed.pdf
Reference implementation: