Skip to content

silky/ImGuizmo

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ImGuizmo

ImGizmo is a small (.h and .cpp) library built ontop of Dear ImGui that allow you to manipulate(Rotate & translate at the moment) 4x4 float matrices. No other dependancies. Coded with Immediate Mode (IM) philosophy in mind.

Image of Rotation Image of Translation

// call BeginFrame right after ImGui_XXXX_NewFrame();

void BeginFrame();

// return true if mouse cursor is over any gizmo control (axis, plan or screen component)

bool IsOver();

// return true if mouse IsOver or if the gizmo is in moving state

bool IsUsing();

// enable/disable the gizmo. Stay in the state until next call to Enable. // gizmo is rendered with gray half transparent color when disabled

void Enable(bool enable);

// call it when you want a gizmo // Needs view and projection matrices. // matrix parameter is the source matrix (where will be gizmo be drawn) and might be transformed by the function. Return deltaMatrix is optional // translation is applied in world space // rotation is applied in local space // Note: all matrices are 4x4 float matrix. OpenGL style.

enum MODE { TRANSLATE, ROTATE };

**void Mogwai(const float *view, const float *projection, MODE mode, float matrix, float deltaMatrix = 0);

License

ImGuizmo is licensed under the MIT License, see LICENSE for more information.

About

Immediate mode 3D gizmo for scene editing

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 100.0%