Index
- Binding Generators
- Language Bindings
- Framework/Engine Backends
- Miscellaneous
- Ports, Rewrites, Clones
Binding Generators
cimgui
https://github.com/cimgui/cimgui
Output C API + output metadata (see generator/output/
folder) which can be used to automatically generate other bindings.
dear_bindings
https://github.com/dearimgui/dear_bindings
Dear Bindings is tool to generate a C API for Dear ImGui, and metadata so other languages can easily generate their own bindings on top.
Less battle-tested than cimgui, but can generate a C API + metadata with full comments.
Language Bindings
Note: those bindings may be more or less maintained, more or less close to the spirit of original API. People who create language bindings sometimes haven't used the C++ API themselves. Dear ImGui was designed for C++ and some of the subtleties may be lost in translation with other languages. If your language supports it, I would suggest replicating the function overloading and default parameters used in the original, else the API may be harder to use. In doubt, always check the original C++ version first!
Now on to the list...
Language | Project |
---|---|
Beef | imgui-beef: auto-generated Beef wrapper library for Dear ImGui https://github.com/RogueMacro/imgui-beef |
C | cimgui: auto-generated c-api wrapper for Dear ImGui **(metadata output from cimgui can be used to automatically generate other bindings)** https://github.com/cimgui/cimgui dear_bindings: auto-generated c-api wrapper for Dear ImGui **(metadata output from cimgui can be used to automatically generate other bindings)** https://github.com/dearimgui/dear_bindings |
C#/.Net | ImGui.NET: An ImGui wrapper for .NET Core https://github.com/mellinoe/ImGui.NET DearImGui: imgui + implot for .NET + a controller for OpenGL (OpenTK) https://github.com/aybe/DearImGui |
C++17 | ImGuiWrapper: CMakeList wrapper and C++17 RAII encapsulation for accessing Imgui |
ChaiScript | imgui-chaiscript: ChaiScript bindings for ImGui https://github.com/JuJuBoSc/imgui-chaiscript |
CovScript | covscript-imgui: ImGui Extension for CovScript (Covariant) https://github.com/covscript/covscript-imgui |
Crystal | crystal-imgui: Crystal bindings to Dear ImGui https://github.com/oprypin/crystal-imgui |
D | BindBC-ImGui: Static & dynamic bindings to Dear ImGui, compatible with BetterC, @nogc, and nothrow. https://github.com/BindBC/bindbc-imgui DerelictImgui: Dynamic bindings to cimgui for the D programming language https://github.com/Extrawurst/DerelictImgui |
Go | cimgui-go: Go wrapper library for "Dear ImGui" https://github.com/AllenDang/cimgui-go |
Haskell | dear-imgui.hs: Haskell bindings to Dear ImGui, https://github.com/haskell-game/dear-imgui.hs imgui-haskell: Haskell bindings for Dear ImGui https://github.com/dbousamra/imgui-haskell |
Haxe/hxcpp | linc_imgui: binding for imgui https://github.com/Aidan63/linc_imgui |
Haxe/Heaps | hlimgui: Heaps game engine binding for Dear ImGui https://github.com/haddock7/hlimgui |
Java | jimgui: Pure Java binding for dear imgui https://github.com/ice1000/jimgui imgui-java: JNI based binding for Dear ImGui https://github.com/SpaiR/imgui-java |
JavaScript | imgui-js: JavaScript bindings for Dear ImGui using Emscripten and TypeScript https://github.com/flyover/imgui-js + also see web demo |
Julia | CImGui.jl: Julia wrapper for cimgui https://github.com/Gnimuc/CImGui.jL |
Kotlin | kotlin-imgui: Kotlin bindings for Dear ImGui https://github.com/Dominaezzz/kotlin-imgui |
Lobster | imgui.lobster: http://strlen.com/lobster/ |
Lua | LuaJIT-ImGui: LuaJIT ffi binding for imgui and implementations https://github.com/sonoro1234/LuaJIT-ImGui imgui_lua_bindings: imgui bindings for lua (also see LÖVE binding) https://github.com/patrickriordan/imgui_lua_bindings (unmaintained) https://github.com/megumumpkin/imgui_lua_bindings (up to date fork) lua-ffi-bindings: FFI bindings for LuaJIT https://github.com/thenumbernine/lua-ffi-bindings sol2_imgui_bindings: ImGui bindings for Sol2 https://github.com/MSeys/sol2_ImGui_Bindings Gideros_ImGui: ImGui bindings for Gideros Studio https://github.com/MultiPain/Gideros_ImGui |
Nim | nim-imgui: cimgui bindings for Nim https://github.com/nimgl/imgui |
Odin | odin-imgui: Odin binding for Dear ImGui https://github.com/ThisDrunkDane/odin-imgui |
Pascal | imgui-pas: pascal bindings for imgui https://github.com/dpethes/imgui-pas |
PureBasic | pb-cimgui: PureBasic interface to CImGui Wrapper https://github.com/hippyau/pb-cimgui |
Python | pyimgui: Cython-based Python bindings for dear imgui https://github.com/swistakm/pyimgui Bimpy: Bundled imgui for python https://github.com/podgorskiy/bimpy CyImGui: Python bindings for ImGui using Cython. (obsolete) https://github.com/chromy/cyimgui Ogre-imgui: https://github.com/OGRECave/ogre-imgui deargui: Python bindings for dear imgui, generated with clang and pybind11 https://github.com/cammm/deargui Dear ImGui Bundle: autogenerated bindings and stubs for ImGui (as well as ImPlot, ImGuizmo, node-editor, etc.) https://github.com/pthom/imgui_bundle Also see DearPyGui below for a RM-style framework. |
ReaScript | ReaImGui: ReaScript binding and REAPER backend for Dear ImGui https://forum.cockos.com/showthread.php?t=250419 |
Ruby | ruby-imgui: Yet another ImGui wrapper for Ruby https://github.com/vaiorabbit/ruby-imgui |
Rust | imgui-rs: Rust bindings for ImGui https://github.com/imgui-rs/imgui-rs imgui-rust: Alternative (personal) imgui rust bindings https://github.com/nsf/imgui-rust ImStrv Patch by @bitshifter/@rokups to use string-range more commonly instead of zero-terminated strings. https://github.com/ocornut/imgui/pull/3038 rust-imgui-opengl-renderer https://github.com/michaelfairley/rust-imgui-opengl-renderer |
Swift | SwiftGui: an experimental API inspired by SwiftUI declarative code, using Dear ImGui and running on OSX and iOS. https://github.com/erickjung/SwiftGUI SwiftImGui: Swift wrapper around Dear imgui for macOS, iOS and linux https://github.com/ctreffs/SwiftImGui Swift-imgui: Dear ImGui Swift Wrapper API for macOS and iOS https://github.com/mnmly/Swift-imgui |
Zig | zig-gamedev/zgui: Easy to use dear imgui bindings (includes ImPlot) https://github.com/michal-z/zig-gamedev/blob/main/libs/zgui Zig-ImGui: Zig bindings for ocornut/imgui, generated using cimgui/cimgui https://github.com/SpexGuy/Zig-ImGui zig-imgui: ImGui bindings for Zig, generated using dear bindings https://github.com/pdoane/zig-imgui |
Framework/Engine Backends
Main repository include examples for DirectX9, DirectX10, DirectX11, DirectX12, Metal, OpenGL2/3, Vulkan, SDL_Renderer, iOS, WebGPU, using frameworks such as GLFW, SDL2, Win32, GLUT, Android, OSX/Cocoa, Allegro. See examples/ and BACKENDS.md for details.
Other backends:
Miscellaneous
Purpose | Project |
---|---|
Software renderer | imgui_software_renderer https://github.com/emilk/imgui_software_renderer |
Software renderer | ImFastRast https://github.com/malamanteau/ImFastRast |
Software renderer | ImSoft https://github.com/LAK132/ImSoft |
ImGui on Arduino example | ImDuino https://github.com/LAK132/ImDuino |
Retained framework | DearPyGui A retained framework build over Dear ImGui https://github.com/hoffstadt/DearPyGui |
Ports, Rewrites, Clones
(notable rewrites or clones, those are not supported on this repository)
Language | Project |
---|---|
Javascript | imgui-njs: imgui-njs is a manual-port / partial-rewrite of dear imgui https://github.com/cannerycoders/imgui-njs |
Kotlin | dear jvm imgui: full JVM port/rewrite https://github.com/kotlin-graphics/imgui |
Roblox | Iris: Iris is an Immediate mode GUI Library for Roblox, Based on Dear ImGui https://github.com/Michael-48/Iris |