Code Monkey home page Code Monkey logo

nim_implot's Introduction

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

nim_implot's People

Contributors

dinau avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.