Immediate mode GUI
This article may be too technical for most readers to understand. Please help improve it to make it understandable to non-experts, without removing the technical details. (August 2017) (Learn how and when to remove this template message)
Immediate mode GUI in computer graphics is a GUI implemented using an immediate mode pattern, where the event processing is directly controlled by the application.
There are two major patterns of API design in graphics libraries - retained mode and immediate mode. In the retained mode, the rendering primitives are managed by the GUI system/library, often hidden from the application code. In the immediate mode, the application code is holding on its own rendering primitives. The API design also effects graphics pipeline implementation.
The immediate mode GUI widget toolkits are more direct and thus less complex, thus they are a good choice for those who want a simple but easily changeable and extendable GUI toolkit, they are usually generic, open source and cross-platform. The original Immediate Mode GUI toolkit was imgui by Adrien Herubel which is based on OpenGL. The idea was popularized by Casey Muratori. There are others such as nuklear with backends for several graphics libraries, kiss_sdl for SDL (Simple DirectMedia Layer), Gio for Go, or dear imgui written in C++ (here the jvm port).
- Quinn Radich (May 30, 2018). "Retained Mode Versus Immediate Mode". Win32 apps. Microsoft. Retrieved 21 December 2019.
- Herubel, Adrien (2019-12-18). "AdrienHerubel/imgui: A small multiplatform immediate mode graphical user interface with OpenGL3.2 backend".
- Mettke, Micha (2019-12-22). "vurtun/nuklear: A single-header ANSI C gui library".
- Korrovits, Tarvo (2019-12-19). "actsl/kiss_sdl: Simple generic GUI widget toolkit for SDL2".
- "Gio - immediate mode GUI in Go". gioui.org. Retrieved 2019-11-14.
- Cornut, Omar (2019-12-22). "ocornut/imgui: Dear ImGui: Bloat-free Immediate Mode Graphical User interface for C++ with minimal dependencies".
- kotlin-graphics (2019-12-19). "kotlin-graphics/imgui: Bloat-free Immediate Mode Graphical User interface for JVM with minimal dependencies (rewrite of dear imgui)".
|This programming-language-related article is a stub. You can help Wikipedia by expanding it.|