Releases: BrutPitt/imGuIZMO.quat
imGuIZMO.quat v4.0
Whats new in imGuIZMO.quat / imguizmo_quat v4.0:
- A new
imguizmo_config.h
file, where you can set / comment / un-comment all settings - Possibility to show a different representation of one or more axes (e.g. left / right hand )
- Possibility to flip/invert the mouse response for: Rotations (X/Y), Pan (X/Y), Dolly (in/out)
- Possibility to specify the path where imgui is installed
- possibility to switch between vgMath (internal math library) to GLM using just a define (they are both compatible, even with examples)
- Added new easy examples to guide the use of widget step by step (OpenGL / Vulkan / WebGPU)
- Added new bit more complex examples to help understand how to use quaternions to build an MVP matrix (OpenGL / Vulkan / WebGPU)
- added
imguizmo_quat.h
andimguizmo_quat.cpp
alias names for those who want to avoid using "imGuIZMO" in camelNameNotation - Some bug fixed
currently the old examples (v2.0) have been moved to old_examples folder: will be rewritten)
Pay attention
- To use the examples, a submodule of ImGui has been inserted, therefore it's necessary to clone using:
git clone --recurse-submodules https://github.com/BrutPitt/imGuIZMO.quat
- WGPU examples currently tested in Linux using DAWN build 83efbc7dae3a36f654d663319cb9aeeac6c212af.
being WGPU in an experimental phase and in constant development, working or building with different release is not guaranteed
imGuIZMO.quat v3.0
New in the imGuIZMO.quat v3.0
- New widgets with Pan/Dolly (Move/Zoom) features
- Default key modifiers are Ctrl (Pan) and Shift (Dolly), but they can be changed with
setPanModifier
andsetDollyModifier
helper functions. - When press and hold a key modifier (Ctrl/Shift/Alt/Super) and hover the mouse over the widget, a graphical helper appears in the left bottom corner, now with the new symbols for Pan or Dolly features
- Default key modifiers are Ctrl (Pan) and Shift (Dolly), but they can be changed with
rotation around X | rotation around Y | rotation around Z | Pan / move | Dolly / zoom |
---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
Please, read main-page for more information: imGuIZMO.quat
NOTE
Already from v.2.2 is changed capitalization of search "include" path:
- It changes from
ImGui
toimgui
, to adapt it to the ImGui repository directory
Now you can set it from IMGUIZMO_IMGUI_FOLDER
define in vgConfig.h
, for more flexibility (#5)
//------------------------------------------------------------------------------
// imGuiZmo.quat - v3.0 and later - (used only inside it)
//
// used to specify where ImGui include files should be searched
// #define IMGUIZMO_IMGUI_FOLDER
// is equivalent to use:
// #include <imgui.h>
// #include <imgui_internal.h>
// #define IMGUIZMO_IMGUI_FOLDER myLibs/ImGui/
// (final slash is REQUIRED) is equivalent to use:
// #include <myLib/ImGui/imgui.h>
// #include <myLib/ImGui/imgui_internal.h>
// Default: IMGUIZMO_IMGUI_FOLDER commented/undefined
// is equivalent to use:
// #include <imgui/imgui.h>
// #include <imgui/imgui_internal.h>
//
// N.B. Final slash to end of path is REQUIRED!
//------------------------------------------------------------------------------
// #define IMGUIZMO_IMGUI_FOLDER ImGui/
Or to use -D
compiler flag, as described here: 5#-issue-comment
imGuIZMO.quat v2.2
New in the imGuIZMO.quat v2.2
- Graphical helper for rotation around a fixed axis
- When press and hold a key modifier (Ctrl/Shift/Alt/Super) and hover the mouse over the widget, a graphical helper appears in the left bottom corner, with the color that identifies the fixed axis.
- Mouse sensibility
- Now is possible adjust the mouse sensibility with
setGizmoFeelingRot(float)
- >1 more mouse sensitivity
- <1 less mouse sensitivity
- Now is possible adjust the mouse sensibility with
*You can try/view these new feature via live demo, accessible from main page
Changes / Fixes / Improvements
- Changed capitalization of search include path
- It changes from
ImGui
toimgui
, to adapt to the ImGui repository directory, anyway you can use theIMGUIZMO_USE_ImGui_FOLDER
define to maintain olden behavior
- It changes from
- Update CMakeLists.txt to build example also with latest Emscripten releases (fix
BINARYEN_METHOD
no more supported) - Now the text (if you want it) appears inside the widget area, so the size is exactly what you chose.
imGuIZMO.quat v2.1.3
Fixes and bug fixed from v. 2.1
Bugs fixed
- "nan" result when vec3 in widget have lenght<FLT_EPSILON, or y and z components are both ZERO
Comple/Build issues fixed
- MinGW/GCC compiler issue when compiled w/o -DVGM_USES_TEMPLATE: #2
- CMake issue with CMAKE_FIND_LIBRARY_PREFIXES, when compiles example
- CMake issue when build with GLFW in windows, when compiles example
Example fixes/improvements
- VirtualGIZMO disabled to default: pass -DUSE_VIRTUALGIZMO:BOOL=TRUE to cmake, or flag it in GUI, to enable it (readme.md)
- CMake improvement: use of built-in macro_lib
imGuIZMO.quat v2.1
Changes from v. 2.02
Now the math library has been inserted in a proper repository, so I changed its name from vGizmoMath.h
in vgMath.h
.
Anyway users no need to change anything in own source code, if they don't want, a vGizmoMath.h
"frontend" has been created to load vgMath.h
.
(although I recommend to change anyway the #include
name in your code)
The vGizmoConfig.h
file name also changes in vgConfig.h
, but it's used only internally: you don't have to do anything.
Is need only to copy your changes made in vGizmoConfig.h
in the new file vgConfig.h
.
It contains also 2 new options described in Configure imGuIZMO.quat section to homepage
Also two #defines
name are changed to do explicit reference to VGM and not more to VGIZMO:
VGIZMO_USES_LEFT_HAND_AXES
==> VGM_USES_LEFT_HAND_AXES
VGIZMO_USES_TEMPLATE
==> VGM_USES_TEMPLATE
(it's important if you have used external defines to pass to compiler)
In vgMath the following constructors change:
Vec3(const VEC2_T& v, T s=T(0))
==>Vec3(const VEC2_T& v, T s)
Vec4(const VEC3_T& v, T s=T(0))
==>Vec4(const VEC3_T& v, T s)
(to avoid errors has been removed default assignment: now you explicitly need to add the "scalar".)
- added
MAT4_T scale(MAT4_T const& m, VEC3_T const& v)
function - correct a typing error in
frustum
function name
imGuIZMO.quat v2.02
Changes from v. 1.1
Users of the previous versions need:
- change
#include <imGuIZMO.h>
==>#include <imGuIZMOquat.h>
- in file
vGizmoConfig.h
uncomment#define VGIZMO_USES_GLM
to continue to use glm, or addVGIZMO_USES_GLM
to compiler preprocessor defines. - Read virtualGizmo3D Changes if you use it outside imGuIZMO.quat widget
imGuIZMO.quat v1.1
Release 1.1
In anticipation of some and future changes, I freeze and make available this release