Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

ImGui Node Editor

ImGui Node Editor: node graphs made of nodes, pins and links, on a canvas that zooms and pans.

The app declares its graph at each frame, between begin() and end(): begin_node() / end_node(), begin_pin() / end_pin(), link(). The user’s creations and deletions go through begin_create() and begin_delete(). Run the app with immapp.run(..., with_node_editor=True), which creates the editor’s context.

Upstream repository · The book’s page

Modules

In imgui_bundle (from imgui_bundle import imgui_node_editor):

Demos using it

The demos of the catalog that use it (the pictures link to their code and to the playground).

Node editor: a color mixer

Node editor: a color mixer

Colors flow through a small graph: pick two colors, mix them, and see the result in the swatches.

More

Each link is drawn in the color it carries. A first graph with imgui-node-editor: the nodes, pins and links that the app owns, and how the user edits them.

Uses: node editor

Python: ▶︎ Run · Code
C++: ▶︎ Run · Code

Node editor: an image pipeline

Node editor: an image pipeline

An image flows through a graph of filters, and each node shows its result.

More

Change a parameter, and the nodes downstream follow at once. The patterns of imgui-node-editor for a real app: typed pins, links refused with a reason, a node created by dropping a link in empty space, menus, a group.

Uses: ImPlot, ImmVision, node editor, OpenCV

Python: ▶︎ Run · Code
C++: ▶︎ Run · Code