CedricGuillemet/ImGuizmo

Immediate mode 3D gizmo for scene editing and other controls based on Dear Imgui

C++

4,042

401 commits

updated Oct 10, 2026

See the code

README

ImGuizmo

Windows MSVC Linux GCC Linux Clang macOS Apple Clang

A collection of Dear ImGui widgets for 3D manipulation and more.

For API reference and usage examples, see the documentation.

Widgets

Each widget is a standalone .h/.cpp pair that can be used independently. A unified static library containing all components is also available via the provided CMake build.

ImViewGizmo

Manipulate view orientation with a single line of code.

ImViewGizmo

ImGuizmo

A small library built on top of Dear ImGui that allows you to manipulate 4x4 float matrices (rotation, translation, and scale). Designed with the Immediate Mode philosophy in mind and has no additional dependencies.

Rotation Translation Bounds

Sample

ImSequencer

A timeline sequencer for editing frame start/end ranges across multiple events.

ImSequencer

GraphEditor

A node graph editor with connections and a delegate system for custom rendering inside nodes.

GraphEditor

ImVectorEditor

A path editor widget for 2D vector geometry. Supports a pen tool, anchor and handle editing, open and closed paths, and host-provided transforms that compose with ImGuizmo object manipulation.

ImVectorEditor

Install

ImGuizmo can be installed via vcpkg:

vcpkg install imguizmo

See the vcpkg example for more details.

Build the example

cmake -B build
cmake --build build --config Release

The CMake example fetches Dear ImGui and stb. It compiles Dear ImGui's upstream backends/imgui_impl_opengl3.cpp renderer, including its embedded OpenGL loader and dynamic font texture support, while retaining ImApp's native Windows, X11, and macOS window/input handling. No separate GL loader is required.

If building the example outside CMake, compile imgui_impl_opengl3.cpp from the same Dear ImGui checkout as the core sources and add backends to the include path. The legacy MinGW Makefile expects the Dear ImGui core sources in example and its backend source, header, and imgui_impl_opengl3_loader.h in example/backends.

License

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

CedricGuillemet/ImGuizmo

Immediate mode 3D gizmo for scene editing and other controls based on Dear Imgui

C++

4,042

401 commits

updated Oct 10, 2026

See the code

README

ImGuizmo

Windows MSVC Linux GCC Linux Clang macOS Apple Clang

A collection of Dear ImGui widgets for 3D manipulation and more.

For API reference and usage examples, see the documentation.

Widgets

Each widget is a standalone .h/.cpp pair that can be used independently. A unified static library containing all components is also available via the provided CMake build.

ImViewGizmo

Manipulate view orientation with a single line of code.

ImViewGizmo

ImGuizmo

A small library built on top of Dear ImGui that allows you to manipulate 4x4 float matrices (rotation, translation, and scale). Designed with the Immediate Mode philosophy in mind and has no additional dependencies.

Rotation Translation Bounds

Sample

ImSequencer

A timeline sequencer for editing frame start/end ranges across multiple events.

ImSequencer

GraphEditor

A node graph editor with connections and a delegate system for custom rendering inside nodes.

GraphEditor

ImVectorEditor

A path editor widget for 2D vector geometry. Supports a pen tool, anchor and handle editing, open and closed paths, and host-provided transforms that compose with ImGuizmo object manipulation.

ImVectorEditor

Install

ImGuizmo can be installed via vcpkg:

vcpkg install imguizmo

See the vcpkg example for more details.

Build the example

cmake -B build
cmake --build build --config Release

The CMake example fetches Dear ImGui and stb. It compiles Dear ImGui's upstream backends/imgui_impl_opengl3.cpp renderer, including its embedded OpenGL loader and dynamic font texture support, while retaining ImApp's native Windows, X11, and macOS window/input handling. No separate GL loader is required.

If building the example outside CMake, compile imgui_impl_opengl3.cpp from the same Dear ImGui checkout as the core sources and add backends to the include path. The legacy MinGW Makefile expects the Dear ImGui core sources in example and its backend source, header, and imgui_impl_opengl3_loader.h in example/backends.

License

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

Project health

Overall

4.0/10

Maintained

10/10

Code review

2/10
OpenSSF Scorecard

Significant stargazers

(top 24 of 25)

aloucks

18 followers · starred Jun 2019

flakey5

56 followers · starred Feb 2022

Rageking8

12 followers · starred Jun 2024

Marcus Brummer

163 followers · starred Aug 2018