Dear user,
ImGui (short for "Immediate Mode Graphical User Interface") is a lightweight and portable GUI library that is commonly used in game development and other interactive applications. It was developed by a programmer named Omar Cornut and is open-source.
The main principle behind ImGui is that it operates in an immediate mode, meaning that the user interface is rendered and updated every frame. This is different from traditional retained mode GUI systems where the interface is built and stored as a hierarchy of objects, and only updated when necessary.
ImGui provides a set of functions and macros that allow developers to create and manipulate UI elements such as windows, buttons, sliders, input fields, and more. These functions are called directly by the application code, instead of relying on a complex event and callback system.
The library is typically integrated into an existing rendering pipeline and requires a rendering context to