TrendWhat rose on GitHub, every day at 07:30 KST · 한국어

GitHub · as of November 8, 2026 · View on GitHub →

ocornut/imgui

C++ immediate mode GUI library

Build developer tools inside running applications with a C++ interface

You can create tools to adjust variables or trace algorithm flow within a running program with just a few lines of code. Dear ImGui is a C++ graphical user interface library that operates without external dependencies. It is independent of renderers and platforms, outputting optimized vertex buffers that integrate naturally into existing 3D pipelines.

How immediate mode GUI works

Unlike traditional GUIs, the core principle is minimizing state synchronization and storage. It can be called from anywhere in the program loop, allowing you to draw UI in the middle of a running algorithm or during the rendering process. It does not directly touch GPU state, generating only draw call batches and vertex buffers, which makes it possible to render them remotely later. This structure results in concise code and fewer bugs when creating UIs that reflect dynamic datasets.

Game development and debugging tool creation

This library is specialized for creating developer tools rather than final product UIs for general users. It is suitable for building tools that expose complex internal systems, such as profilers, debuggers, inspectors, or game creation editors. By utilizing a compiler's hot code reload feature, you can add widgets to a running app to adjust variables and then delete the code shortly after, enabling such ad-hoc tasks. It is also widely used for exploring datasets in real time or logging the internal state of subsystems.

Integration and backend configuration

The core file is platform-agnostic and can be added to an existing project and compiled. Backends are provided for various graphics APIs like DirectX, OpenGL, Vulkan, and Metal, as well as platforms like GLFW, SDL, and Win32, allowing it to be used without modification in most environments. To integrate it into a custom engine, you need to connect mouse and keyboard input, upload textures to the GPU, and provide a function to render textured triangles. Referring to the approximately 20 official backends and sample applications makes it possible to integrate into an existing codebase within one hour.

Scope of support and limitations

It is distributed under the MIT license, and C++20 module users can utilize third-party extension modules. However, it does not support full internationalization (such as right-to-left text and bidirectional text) or accessibility features. This is a result of a design philosophy that prioritizes simplicity and productivity. It is recommended to sync the latest version from the master or docking branch, with the docking branch including multi-viewport and docking features. Major players in the game industry use it, and it is utilized in various software such as the Tracy profiler and the ImHex hex editor.

Written by AI from this repository's README on October 5, 2026. For the facts, the original on GitHub is the reference.

By the numbers

GitHub trending history
12 days between Jun 19, when Trend began recording, and Nov 8, 2026 · first on Jul 12

Read from GitHub, as of November 3, 2026. None were read on November 8, 2026.

Language
C++
Topics
api · cplusplus · framework · game-development · game-engine · gamedev · gui · imgui
Stars
76,948
Contributors
572
Forks
12,110
Latest release
v1.93.0 · October 14, 2026
Commits
10,310
Last commit
November 2, 2026
Open issues
1,032
Open pull requests
189

Related repositories

View on GitHub →