-
-
Notifications
You must be signed in to change notification settings - Fork 10.3k
Bindings
- Binding Generators
- Language Bindings (C, C#, Rust, Zig & many more)
- Framework/Engine Backends (Unreal, Unity, Godot & many more)
- 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.
https://pthom.github.io/litgen/litgen_book/00_00_intro.html
litgen is an automatic bindings generator from C++ to Python. It emits binary bindings and preserves the original documentation in a python stub (comparable to a C header file): compare imgui.h to its python translation. It is used to maintain up to date bindings inside Dear ImGui Bundle.
It can produce bindings for Dear ImGui and other libraries. See config for ImGui
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/casssoft/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://gitlab.com/L-4/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 easy-imgui-rs: Rust crates to build full GUI applications. https://github.com/rodrigorc/easy-imgui-rs |
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 zig_workbench https://github.com/DarknessFX/zig_workbench |
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 |