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

#145 in GUI

Download history 725/week @ 2024-01-19 636/week @ 2024-01-26 643/week @ 2024-02-02 797/week @ 2024-02-09 1114/week @ 2024-02-16 1239/week @ 2024-02-23 1119/week @ 2024-03-01 1001/week @ 2024-03-08 949/week @ 2024-03-15 995/week @ 2024-03-22 1163/week @ 2024-03-29 968/week @ 2024-04-05 794/week @ 2024-04-12 769/week @ 2024-04-19 905/week @ 2024-04-26 842/week @ 2024-05-03

3,457 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
~166K SLoC