#mesh-geometry #mesh #wgpu #graphics

deuxfleurs

Viewer for geometry processing data (surface meshes, point clouds, scalar field...)

1 unstable release

Uses new Rust 2024

0.1.0 Jul 10, 2025

#831 in Graphics APIs

MIT license

555KB
15K SLoC

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.

Dependencies

~33–82MB
~1.5M SLoC