Skip to content

Releases: BrutPitt/imGuIZMO.quat

imGuIZMO.quat v4.0

17 Mar 06:21
Compare
Choose a tag to compare

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 and imguizmo_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

28 Apr 05:19
Compare
Choose a tag to compare

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 and setDollyModifier 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
rotation around X rotation around Y rotation around Z Pan / move Dolly / zoom
alt text alt text alt text alt text alt text

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 to imgui, 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

23 Mar 22:58
Compare
Choose a tag to compare

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

Helper2 Helper1

*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 to imgui, to adapt to the ImGui repository directory, anyway you can use the IMGUIZMO_USE_ImGui_FOLDER define to maintain olden behavior
  • 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

15 Mar 02:16
Compare
Choose a tag to compare

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

01 Dec 07:44
Compare
Choose a tag to compare

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

01 Dec 06:14
Compare
Choose a tag to compare

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 add VGIZMO_USES_GLM to compiler preprocessor defines.
  • Read virtualGizmo3D Changes if you use it outside imGuIZMO.quat widget

imGuIZMO.quat v1.1

02 Oct 16:43
Compare
Choose a tag to compare

Release 1.1

In anticipation of some and future changes, I freeze and make available this release