The node.gl
project is split in several parts:
libnodegl
: the core of the project, anOpenGL
engine inC
, containing all the nodes.ngl-tools
: a set of various program tools usinglibnodegl
.pynodegl
: a Python binding forlibnodegl
(with the help ofCython
) to create graph scenes in the most simple way.pynodegl-utils
: various Python utilities and examples such as an advanced Qt5 controller with many features such as live editing.
libnodegl
requires a standard C toolchain and meson build system. It also depends on sxplayer library for media (video and images) playback. Graphviz is optional but can be used to render and preview graphs obtained from the API.ngl-tools
needs SDL2 andlibnodegl
installed.pynodegl
needs Python and Cython, andlibnodegl
installed.pynodegl-utils
needs Python andpynodegl
. The controller depends onPySide6
(which is the main reason why this package is separated from thepynodegl
package). It is also recommended to install Graphviz in order to render graph in the controller.
graph
libnodegl(libnodegl)
ngl_tools(ngl-tools)
pynodegl(pynodegl)
pynodegl_utils(pynodegl-utils)
cython[Cython]
ffmpeg[FFmpeg]
graphviz[Graphviz]
pyside6[PySide6]
python[Python]
sdl2[SDL2]
sxplayer[sxplayer]
watchdog[watchdog]
sxplayer --> ffmpeg
libnodegl --> sxplayer
ngl_tools --> sdl2
ngl_tools --> libnodegl
ngl_tools -. ngl-python .-> python
pynodegl --> libnodegl
pynodegl --> python
pynodegl --> cython
pynodegl_utils --> pynodegl
pynodegl_utils --> python
pynodegl_utils -.-> graphviz
pynodegl_utils --> pyside6
pynodegl_utils --> watchdog
classDef ngldep fill:#add8e6,color:#222
classDef extdep fill:#c0c0c0,color:#222
class libnodegl,ngl_tools,pynodegl,pynodegl_utils ngldep
class sxplayer,ffmpeg,sdl2,python,cython,graphviz,pyside6,watchdog extdep