Skip to content

dinau/nim_implot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nim ImPlot binding


ImPlot is an immediate mode, GPU accelerated plotting library for Dear ImGui.

  1. This project uses the modified generator that derived from the achievement of Nimgl/imgui and nimgl-imgui(forked).
  2. This project also uses ImGui library (nim-imgui (ImGui v1.89.9 latest)) derived from Nimgl/imgui and nimgl-imgui(forked).
  3. Also have used CImGui library

Direct nimble install from Web


nimble install https://github.com/dinau/nim_implot

Runing all demo programs


git clone --recursive https://github.com/dinau/nim_implot
cd nim_implot
nimble test

Test source: examples/demo

Compiling application


It has to be used cpp backend at compilation for example,

pwd
nim_implot
cd examples/demo
nim cpp -r ImPlotDemo.nim 

Note: C backend is not supported.

Notice: Compilation options


If demo programs crash, please try to specify compilation option
--mm:refc instead of --mm:arc or --mm:orc,
especially if you use Nim-2.00, try to specify --mm:refc.
These are TODO at this moment.

Generating ImPlot bindings for development


pwd
nim_implot
nimble gen

Genarated file: src/implot.nim

Development


It is currently being developed and tested on

  • Windows 10

  • (Debian 12 Bookworm)

    $ sudo apt install xorg-dev libopengl-dev libgl1-mesa-dev

Tools info


  • Windows10
    • Nim Compiler Version 1.6.14
    • gcc.exe (Rev2, Built by MSYS2 project) 13.2.0
  • Debian 12 Bookworm
    • Nim Compiler Version 1.6.14
    • gcc (Debian 12.2.0-14) 12.2.0

Example gallery written in Nim language


Now all demo (over 50) programs have been implemented in Nim language (2023/10),
(Orignal demo program is here implot_demo.cpp, (C++))
below images are part of them.

Plots


alt

alt

alt

alt

alt

alt

alt

alt

alt

alt

alt

alt

alt

alt

alt

alt

alt

alt

alt

Subplots


alt

alt

Axes


alt

alt

Tools


alt

alt

alt

Custom


alt