/imguinz

Dear Imgui / CImGui, ImPlot/CImPlot wrapper for Zig language

Primary LanguageCMIT LicenseMIT

ImGuinZ

This project aims to simply and easily build Dear ImGui examples with Zig language using CImGui / CImPlot as first step.

ImGui version 1.90.8 (2024/06)

Prerequisites


  • Windows10 OS
  • Use Zig: 0.12.0
  • Zig 0.13.0 ? (Compiling is ok so far)
  • MSys/MinGW basic commands (make, rm, cp ...)

Build and run


  1. Download this project.

    git clone --recurse-submodules https://github.com/dinau/imguinz
  2. Go to one of the examples folder,

    cd imguinz/examples/zig_glfw_opengl3
  3. Build and Run

    make run                

    or

    zig build --release=fast run

Examples screen shots

zig_glfw_opengl3 / zig_sdl2_opengl3


GLFW SDL2 SDL3
zig_glfw_opengl3 zig_sdl2_opengl3 zig_sdl3_opengl3

alt

zig_glfw_opengl3_jp


GLFW
zig_glfw_opengl3_jp

alt

zig_glfw_opengl3_image_load


GLFW
zig_glfw_opengl3_image_load

alt
Image file captured would be saved in current folder.
Image can be saved as JPEG / PNG / BMP / TGA file.

zig_glfw_opengl3_implot


GLFW
zig_glfw_opengl3_implot

alt

ImPlot Demo written in Zig lang.


Now work in progress.

Build and run

pwd
imPlotDemo
make run   # or zig build --release=fast run

Plots/LinePlots.zig

Plots/LinePlots.zig

alt

Plots/Heatmaps.zig

Plots/Heatmaps.zig

alt

Plots/Images.zig

Plots/Images.zig

alt

Axes/LogScale.zig

Axes/LogScale.zig

alt

SubPlots/Tables.zig

SubPlots/Tables.zig

alt

Hiding console window


Open build.zig in each example folder and enable option line as follows,

... snip ...
exe.subsystem = .Windows;  // Hide console window
... snip ...

and execute make.

SDL libraries


My tools version


  • clang version 18.1.6
  • gcc.exe (Rev2, Built by MSYS2 project) 13.2.0
  • git version 2.41.0.windows.3
  • make: GNU Make 4.3
  • Python 3.12.3
  • zig: 0.12.0 (zig cc: clang version 17.0.6)
  • SDL2 ver.2.30.3
  • SDL3 2024-06-02

Similar project


Language Project
Nim Imguin, Nimgl_test, Nim_implot
Lua LuaJITImGui
Python DearPyGui for 32bit WindowsOS Binary
Zig, C lang. Dear_Bindings_Build
Zig ImGuinZ