- ImGuin
Latest ImGui/CImGui version: : v1.90.6dock (2024/05)
Notice:
This project is my experiment project to use Nim language, ImGui, ImPlot, futhark and etc.
It may be better to use the mainstream project nimgl/imgui (ImGui v1.85)
,updated project nimgl-imgui (ImGui v1.89.9)
,sub project nim_implot and test project nimgl_test.
-
Nim-2.0.2 or later (Windows10 or Debian Linux)
-
For Linux Debian 12 Bookworm,
$ sudo apt install xorg-dev libopengl-dev libgl1-mesa-dev
and for glfw3 and sdl2,
$ sudo apt install libglfw3 libglfw3-dev $ sudo apt install libsdl2-dev
nimble install https://github.com/dinau/imguin
-
First clone this project,
git clone --recursive https://github.com/dinau/imguin
-
Sample program is here, examples. For instance glfw_opengl3.nim,
cd imguin/examples/glfw_opengl3 make
After build, run
./glfw_opengl3(.exe)
-
For selecting static link or dynamic link ,read this examples/README.md.
These screen shots are on Windows10.
Showing UTF-8 label text and input text with my local country language.
Showing ImGui demo with ImPlot demo.
-
Git installed.
-
Windows10 or later Clang/LLVM refer to Futhark installation.
nimble install --passL:"-Lc:\llvm\lib" futhark
It must exist libclang.a file in the library path (e.g. "c:\llvm\lib").
-
Linux Debian 12 Bookworm
sudo apt install clang-16 nimble install --passL:"-L/usr/lib/llvm-16/lib" futhark
Important Notice: Confirm Futhark version is v0.12.5 at this time. (2024/03)
nimble dump futhark
name: "futhark"
version: "0.12.5"
author: "PMunch"
desc: "A package which uses libclang to parse C headers into Nim files for easy interop"
license: "MIT"
...
-
Update to latest definition files uisng Futhark,
pwd imguin cd src/imguin/private/updater make
-
Update/Downgrade to the version specified tag for example,
pwd updater make VER=1.89.9dock or make CIMGUI=1.89.9dock
-
Confirmed version
Command imguin Ver. Date Windows10 Debian
Bookwormmake VER=1.90.6dock 1.90.6.0 2024/05 ok NG Notice(2) make VER=1.90.4dock 1.90.4.2 2024/02 ok ok Notice(1) make VER=1.90.1dock 1.90.1.0 2024/01 ok NG Notice(2) make VER=1.89.9dock 1.89.9.8 2023/12 ok NG Notice(1) : Except imnodes and SDL2 example. Notice(2) NG: Doesn't work well.
- examples/sdl2_opengl3
-
If you are on Windows OS 32bit, you should get
SDL2.dll
for instance from release-2.26.4.- Unzip SDL2-2.26.4-win32-x86.zip
- Copy SDL2.dll to examples/sdl2_opengl3 folder.
-
On Windows OS, it needs dev tool to compile SDL2 app, SDL2-devel-2.26.4-mingw.zip for instance "SDL.h","-lSDL2.dll" etc and change
src/imguin/sdl2_opengl.nim
{.passC:"-Id:/msys32/mingw32/include/SDL2".} {.passL:"-Ld:/msys32/mingw32/lib -lSDL2.dll".}
you need to properly change the above folder name depending on your settings. See src/imguin/sdl2_opengl.nim
-
- Easier compilation for SDL2 app.
Added: ImNodes/CImNodes(2023/10)Done- Whether can it use
cimgui.dll
? (Now it can only be static link) Unfortunately ImGui 1.89.7 dosn't work well at this moment.(2023/07)Done. (2023/08)Whether can it doDone (2023/09) (#Issue 13)nimble install imguin
?Add Font Awesome (Icon Font) demo.Done (2023/04).Can it compile with MSVC (--cc:vcc) ?Done. Except SDL2 demo. (2023/03)Can it compile with Clang (--cc:clang) ?Done. (2023/03)Add SDL2 example.Done. examples/sdl2_opengl3 (2023/03)
- First step is done. (2023/03)
Windows10 (main)
- Nim Compiler Version 2.0.4
- gcc.exe (Rev3, Built by MSYS2 project) 13.2.0-2
- gcc-libs 13.2.0-2
- binutils 2.41-3
- clang version 18.1.4
- git version 2.41.0.windows.3
- SDL2.dll: 2.30.3
- make: GNU Make 4.2.1
- MSys2/MinGW tools
Debian 12 Bookworm
- Nim Compiler Version 2.0.4
- gcc (Debian 12.2.0-14) 12.2.0
- git version 2.39.2
- GNU Make 4.3
- SDL2 ver.2.26.5
Debian 11 Bullseye (Obsoleted)
Debian clang version 11.0.1-2
gcc (Debian 10.2.1-6) 10.2.1 20210110
git version 2.30.2
Nim Compiler Version 1.6.12
SDL2 ver.2.0.14
-
File Dialog
-
Other
-
GUI
-
Graphical