OpenFX (API) explained

OpenFX (OFX), a.k.a. The OFX Image Effect Plug-in API, is an open standard for 2D visual effects or compositing plug-ins. It allows plug-ins written to the standard to work on any application that supports the standard. The OpenFX standard is owned by The Open Effects Association, and it is released under a 'BSD' open source license. OpenFX was originally designed by Bruno Nicoletti at The Foundry Visionmongers.

Plug-ins are written as dynamic shared objects, and the API specifies a few entry points that must be implemented by the plug-in.

The OpenFX host exposes sets of entry points to the plug-in, called suites. The Property Suite is used to manage attribute-value pairs attached to objects defined by all other suites of the API, the Image Effect Suite is used to fetch film frames from the inputs or the output of the effect, and there are other suites to display informative messages or ask questions to the user, handle multithreading, use OpenGL for processing, etc.

Each plugin is described by a list of parameters and supported inputs and output. The host may execute various actions, for example to signal that a parameter value has changed or that a portion of a film frame has to be rendered.

Optionally, the plug-in may also display graphical information over the current frame using OpenGL, and propose interactions using mouse and keyboard (this is called interacts in the OFX specification).

An OpenFX host is an application capable of loading and executing OpenFX plugins.

History

OpenFX was first announced on Feb 10, 2004 The Foundry Visionmongers.[1]

The OpenFX specification was written so that a plugin supporting the latest version of the API may be implemented to be compatible with a host implementing an earlier version.

  1. OpenFX 1.0[2] was released in 2006.
  2. OpenFX 1.1[3] was released in 2007.
  3. OpenFX 1.2[4] was released in 2010.
  4. OpenFX 1.3[5] was released in 2012.
  5. OpenFX 1.4[6] was released in 2015.

Hosts

Free and open source hosts

Commercial hosts

Discontinued:

OpenFX plug-ins

Free and open source plugins

Commercial plug-ins

Extensions

OpenFX' suite-based design enables one to easily introduce new sets of entry points, in order to cover other applications while still relying on the same core dynamic plug-in mechanism. A notable example is OpenMfx, an API based on OpenFX but meant to define procedural effects on 3D meshes rather than 2D images.[10] An host that supports the Image Effects API does not necessarily support the Mesh Effect API, and vice versa, but both support the same core plug-in mechanism and basic suites like the Property Suite or the Parameter Suite. OpenMfx is an initiative independent from The Open Effects Association, led by Élie Michel since 2019.[11]

Documentation

External links

Notes and References

  1. Web site: OpenFX Visual Effects Plug-in Support Grows. Digital Video Editing. 31 August 2016.
  2. Web site: The OFX Image Effect Plug-in API, 1.0, Programming Reference. OpenFX. 10 June 2015.
  3. Web site: The OFX Image Effect Plug-in API, 1.1, Programming Reference. OpenFX. 10 June 2015.
  4. Web site: The OFX Image Effect Plug-in API, 1.2, Programming Reference. OpenFX. 10 June 2015.
  5. Web site: The OFX Image Effect Plug-in API, 1.3, Programming Reference. OpenFX. 10 June 2015.
  6. Web site: The Open Effects Association Releases Version 1.4. OpenFX. 28 October 2015.
  7. Web site: Original RamenHDR sourcecode. GitHub. 10 June 2015.
  8. Web site: Film Convert home page. Film Convert. 13 August 2015.
  9. Web site: Primatte for OFX. Primatte. 10 June 2015.
  10. Web site: Michel. Élie. OpenMfx documentation. 2021-08-25. openmesheffect.org.
  11. Web site: Initial commit · eliemichel/OpenMfx@ab2eef6. 2021-08-25. GitHub. en.