Project architecture and organizationΒΆ
The nope.gl project is split in several parts:
libnopegl: the core of the project, anOpenGLengine inC, containing all the nodes.ngl-tools: a set of various program tools usinglibnopegl.pynopegl: a Python binding forlibnopegl(with the help ofCython) to create graph scenes in the most simple way.pynopegl-utils: various Python utilities and examples such as an advanced Qt5 controller with many features such as live editing.
DependenciesΒΆ
libnopeglrequires a standard C toolchain and meson build system. It also depends on nope.media (libnopemd) for media (video and images) playback. Graphviz is optional but can be used to render and preview graphs obtained from the API.ngl-toolsneeds SDL2 andlibnopeglinstalled.pynopegl-utilsneeds Python andpynopegl. The controller depends onPySide6(which is the main reason why this package is separated from thepynopeglpackage). It is also recommended to install Graphviz in order to render graph in the controller.