deuxfleurs

Crates.iodeuxfleurs
lib.rsdeuxfleurs
version0.1.0
created_at2025-07-10 11:41:30.237818+00
updated_at2025-07-10 11:41:30.237818+00
descriptionViewer for geometry processing data (surface meshes, point clouds, scalar field...)
homepage
repositoryhttps://github.com/Lieunoir/deuxfleurs
max_upload_size
id1746199
size679,056
(Lieunoir)

documentation

README

Deuxfleurs

Documentation

pres

Viewer for geometry processing / meshes / 3d related stuff heavily inspired by polyscope (which is very nice, check it out!).

Can be used in webpages thanks to wasm, so web-based slides can include demos, or simply for making code demo easily accessible on the web. An example can be found here.

How to use

Here's a quick example that loads a mesh and uses a button to show/hide it:

use deuxfleurs::load_mesh;
// Init the app
let mut handle = deuxfleurs::init();
// Load the mesh and register it:
let (v, f) = load_mesh("bunny.obj").await.unwrap();
handle.register_surface("bunny", v, f);

// Toggle between shown or not on button pressed
let handle = handle.with_callback(|ui, state| {
    if ui
        .add(egui::Button::new("Toggle shown"))
        .clicked()
    {
        let mut surface = state.get_surface_mut("bunny").unwrap();
        let shown = surface.shown();
        surface.show(!shown);
    }
});

// Run the app
handle.run(
    1080,
    720,
    Some("deuxfleurs-demo"),
);

More examples are available in the corresponding folder.

Commit count: 0

cargo fmt