23 releases (15 breaking)

0.16.2 Mar 14, 2024
0.15.0 Feb 1, 2024
0.13.0 Dec 22, 2023
0.12.0 Oct 10, 2023
0.4.1 Nov 18, 2021

#140 in GUI

Download history 447/week @ 2024-01-01 640/week @ 2024-01-08 608/week @ 2024-01-15 713/week @ 2024-01-22 598/week @ 2024-01-29 738/week @ 2024-02-05 825/week @ 2024-02-12 1220/week @ 2024-02-19 1275/week @ 2024-02-26 1005/week @ 2024-03-04 1023/week @ 2024-03-11 968/week @ 2024-03-18 930/week @ 2024-03-25 1323/week @ 2024-04-01 746/week @ 2024-04-08 786/week @ 2024-04-15

3,885 downloads per month
Used in 12 crates (5 directly)

Custom license

230KB
1.5K SLoC

egui-gizmo

Latest version Documentation MIT

3d transformation gizmo built on top of the egui library.

Try it out in a web demo

Rotation Translation Scale

Usage

let gizmo = Gizmo::new("My gizmo")
    .view_matrix(view_matrix)
    .projection_matrix(projection_matrix)
    .model_matrix(model_matrix)
    .mode(GizmoMode::Rotate);

if let Some(response) = gizmo.interact(ui) {
    model_matrix = response.transform();
}

For a more complete example, see the demo source code.

The gizmo exposes matrices and vectors as mint types, which means it is easy to use with matrix types from various crates such as nalgebra, glam and cgmath. You may need to enable a mint feature, depending on the math library.

Dependencies

~7–13MB
~164K SLoC