-
-
Notifications
You must be signed in to change notification settings - Fork 10.3k
Bindings
- Binding Generators
- Language Bindings
- Framework/Engine Backends
- Miscellaneous
- Ports, Rewrites, Clones
https://github.com/cimgui/cimgui
Output C API + output metadata (see generator/output/
folder) which can be used to automatically generate other 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.
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 |
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:
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 |
(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 |