egui-gizmo
3d transformation gizmo built on top of the egui library.
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.