Kirpi

Visual Programming Tool

Kirpi is a visual programming tool allowing to build and execute graphs of connected tasks,
where each node is C++ code.

Kirpi comes with ready-made applications allowing you to build and execute graphs, and provides an API and UI components that you can integrate into your own applications or plug-ins (eg. Maya, usdview, etc.).

Kirpi uses just-in-time (JIT) compilation and execution of C++ code on the fly.
Compiled code is efficient, debuggable and can be multithreaded.

Available on Windows and Linux Platforms

Windows Linux

Live Programming

  • Use built-in graph nodes or create your own.
  • Create dataflow by connecting nodes.
  • Create and edit nested subgraphs.
  • Set graph input values.
  • Execute and experiment!

More Tutorials

Limitless Possibilities

Kirpi can be used in many situations and in any industry. These tutorials show some of the ways it can be used in computer graphics.

More Tutorials

Efficient Workflow

  • Live editing.
  • View code modifications, revert changes.
  • Self-documenting graph nodes.
  • Integrated profiling.
  • One-click vectorization.
  • Generate nodes from existing C++ functions.
  • Easy integration into any development environment (IDE, text editor, CMake).

Maximum Performance

  • Full C++.
  • Just-in-time (JIT) compilation.
  • Powered by LLVM and Clang.
  • Automatic parallelization.
  • Easy use of external APIs.

Seamless Integration

Kirpi comes with ready-made applications, but also provides an API and UI components that you can use to integrate it into your own applications and plug-ins. Here it is used in a Maya plug-in:

  • A graph is incorporated into a standard Maya dependency node.
  • Users edit the graph directly in Maya.
  • Users connect the graph's inputs by dragging and dropping Maya objects from the outliner.
  • The graph's input values are exposed in Maya's attribute editor.

USD Integration

Kirpi provides a customizable user interface for editing graphs.

Sticky Notes

Use sticky notes to make your graph self-documenting.

sticky-notes-video

black-theme-video

Backdrops

Use backdrops to group together related nodes, document them and manipulate them more easily.

Dark Theme

Kirpi's graph editor comes with two themes: light and dark. Just select the theme you want from the View menu.

sticky-notes-video

Controller Window

Use Controller Window to test a graph interactively.

  • The Controller Window has a widget for each input and output.
  • Modify an input. Outputs are computed automatically.
  • Choose the widget you want for each input/output.
  • Implement your own widgets as plug-ins.