Introducing the CAPI
We are very excited to announce a new API called “CAPI”. CAPI allows you to integrate the Fabric Engine Core into C and C++ applications and utilize Fabric Engine’s raw processing power. The CAPI will also support features such as GPU computation as soon as they become available for the Fabric Engine Core.
CAPI offers the construction and authoring of all Fabric Engine Core elements, such as DGEvents, DGEventHandlers, DGNodes, DGOperators and DGBindings. The services available match the ones in the Python API. Access to member data is provided through a powerful Variant type, as well as through pure “void” pointers directly to the core data. The Variant type also supports extremely fast JSON encoding and decoding for easier string-based persistence and communication with other JSON based systems.
CAPI provides the same “just-in-time” compilation of operators that is available with the Python API, so it’s possible to write C and C++ applications that give users the same ability to change operator code at runtime that is available in Python.
Through the Fabric Engine extension framework, existing extension libraries can be used; for example, to render to an OpenGL canvas, or to load or save Alembic data.
The CAPI will be available with the beta release of the upcoming version 1.5 of Fabric Engine Core.
Along with the CAPI we will publish a persistence file format for Fabric Engine applications, called FEDG, which we will cover in an additional blog post.
Let us know what you think!