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) examples in Zig language with less external dependencies.
ImGui / CImGui version 1.92.3 dock (2025/09)
OS: Windows and Linux
Frontends and Backends
| GLFW | SDL3 | |
|---|---|---|
| OpenGL3 backend |
v | v |
| SDLGPU3 backend |
- | v |
| vulkan backend |
WIP | WIP |
Features
ImDrawIdx="unsigned int"IMGUI_ENABLE_WIN32_DEFAULT_IME_FUNCTIONSZig compiler version confirmed
WindowsOS
pacman -S make mingw-w64-x86_64-{gcc,vulkan-headers,vulkan-loader}
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, add
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
ImGuiFileDialog / CImGuiFileDialog
glfw_opengl3_imguicolortextedit.zig
WIP
imgui_markdown / cImgui_markdown
glfw_opengl3_imgui_markdown.zig
Image load and magnifying glass
glfw_opengl3.zig / sdl3_opengl3.zig / sdl3_sdlgpu3.zig
iconFontViewer.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: