dinau/imguinz
Examples project using Dear Imgui (CImGui), ImPlot (CImPlot) and many additional libraries with Zig language
This project aims to simply and easily build Dear ImGui (CImGui) / ImPlot (CImPlot), Raylib, rlImGui and many other libaries and examples in Zig with less external dependencies.
ImGui / CImGui version 1.92.4 dock (2025/11)
OS: Windows11 and Linux
Frontends and Backends
| GLFW | SDL3 | |
|---|---|---|
| OpenGL3 backend |
YES | YES |
| SDLGPU3 backend |
- | YES |
| vulkan backend |
WIP | WIP |
Features
ImDrawIdx="unsigned int"IMGUI_ENABLE_WIN32_DEFAULT_IME_FUNCTIONSZig compiler version confirmed
WindowsOS
Windows11
MSys2/MinGW basic commands (make, rm, cp, strip ...)
pacman -S make
Linux OS (Ubuntu / Debian families)
sudo apt install lib{opengl-dev,gl1-mesa-dev,glfw3,glfw3-dev,xcursor-dev,xinerama-dev,xi-dev} git make
SDL3
If you are using Debian13 Trixie, add sdl3 library,
sudo apt install libsdl3-dev
otherwise install SDL3 manually
git clone https://github.com/dinau/imguinz
cd imguinz/examples/glfw_opengl3 # cd one of examples
make run # or zig build --release=fast run
Library name / C lang. wrapper
ImGui / CImGui (2024/11)
ImPlot / CImPlot (2025)
ImPlot3d / CImPlot3d (2025/07)
ImNodes / CImNodes (2025/06)
ImGuizmo / CImGuizmo (2025/07)
ImGui-Knobs / CImGui-Knobs (2025/05)
ImGuiFileDialog / CImGuiFileDialog (2025/07)
ImGui_Toggle / CimGui_Toggle (2025/05)
ImSpinner / CImSpinner (2025/05)
ImGuiColorTextEdit / cimCTE (2025/07)
ImGui_Markdown (2025/09) WIP
Additional examples
Raylib, rlImGui (2025/11)
raylib_cjk: Showing multi byte(CJK) fonts
ImGuiFileDialog / CImGuiFileDialog
WIP
imgui_markdown / cImgui_markdown
Image load and magnifying glass
glfw_opengl3: main.zig / sdl3_opengl3: main.zig / sdl3_sdlgpu3: main.zig
main.zig, magnifying glass, incremental search
Image load / save and magnifying glass.
Image file captured would be saved in .the folder ./zig-out/bin.
Image can be saved as JPEG / PNG / BMP / TGA file.
Now work in progress.
pwd
examples/imPlotDemo
make run # or zig build --release=fast run
Open build.zig in each example folder and
Hide console window: Default,
Show console window: Comment out this line as follows,
... snip ...
//exe.subsystem = .Windows; // Hide console window
... snip ...
and rebuild example.
https://github.com/libsdl-org/SDL/releases
| Language | Project | |
|---|---|---|
| Lua | Script | LuaJITImGui |
| NeLua | Compiler | NeLuaImGui / NeLuaImGui2 |
| Nim | Compiler | ImGuin, Nimgl_test, Nim_implot |
| Python | Script | DearPyGui for 32bit WindowsOS Binary |
| Ruby | Script | igRuby_Examples |
| Zig, C lang. | Compiler | Dear_Bindings_Build |
| Zig | Compiler | ImGuinZ |
| Language | SDL | Project | |
|---|---|---|---|
| LuaJIT | Script | SDL2 | LuaJIT-Platformer |
| Nelua | Compiler | SDL2 | NeLua-Platformer |
| Nim | Compiler | SDL3 / SDL2 | Nim-Platformer-sdl2/ Nim-Platformer-sdl3 |
| Ruby | Script | SDL3 | Ruby-Platformer |
| Zig | Compiler | SDL2 | Zig-Platformer |
Notes: