OpenFX (API)

{{Short description|Open standard for 2D visual effects or compositing plug-ins}}

{{third-party|date=February 2015}}

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

  • UPDATE: Current version is 1.5 as of December 2024

OpenFX was first announced on Feb 10, 2004 The Foundry Visionmongers.{{cite web|title=OpenFX Visual Effects Plug-in Support Grows|url=http://www.digitalvideoediting.com/2004/02_feb/news/foundry0210.htm|website=Digital Video Editing|access-date=31 August 2016}}

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{{cite web|title=The OFX Image Effect Plug-in API, 1.0, Programming Reference|url=http://openfx.sourceforge.net/Documentation/1.0/ofxProgrammingReference.html|website=OpenFX|access-date=10 June 2015}} was released in 2006.
  2. OpenFX 1.1{{cite web|title=The OFX Image Effect Plug-in API, 1.1, Programming Reference|url=http://openfx.sourceforge.net/Documentation/1.1/ofxProgrammingReference.html|website=OpenFX|access-date=10 June 2015}} was released in 2007.
  3. OpenFX 1.2{{cite web|title=The OFX Image Effect Plug-in API, 1.2, Programming Reference|url=http://openfx.sourceforge.net/Documentation/1.2/ofxProgrammingReference.html|website=OpenFX|access-date=10 June 2015}} was released in 2010.
  4. OpenFX 1.3{{cite web|title=The OFX Image Effect Plug-in API, 1.3, Programming Reference|url=http://openfx.sourceforge.net/Documentation/1.3/ofxProgrammingReference.html|website=OpenFX|access-date=10 June 2015}} was released in 2012.
  5. OpenFX 1.4{{cite web|title=The Open Effects Association Releases Version 1.4|url=http://openeffects.org/news_items/the-open-effects-association-releases-version-1-4|website=OpenFX|access-date=28 October 2015}} was released in 2015.
  6. OpenFX 1.5{{Cite web |title=New OpenFX 1.5 Release Streamlines Workflows and Creative Applications |url=https://openeffects.org/new-openfx-1-5-release-streamlines-workflows-and-creative-applications/ |access-date=2 December 2024 |website=OpenFX}} was released in 2024.

Hosts

= Free and open source hosts =

  • [https://buttleofx.wordpress.com/ ButtleOFX] (for Linux, open source, LGPL license, alpha status, unmaintained)
  • [http://sourceforge.net/projects/kaliscope/ Kaliscope] (scanner controller/batch conversion tool based on OpenFX host and plugins, open source, GPL 3 license)
  • Natron for macOS, Linux, FreeBSD and Windows (open source, GPL license)
  • Ramen compositor (CDDL 1.0 license, never officially released, but source code is available{{cite web|title=Original RamenHDR sourcecode|url=https://github.com/nacht/Ramen|website=GitHub|access-date=10 June 2015}})
  • [https://github.com/shuttleofx/ShuttleOFX ShuttleOFX] (online OpenFX platform, open source, LGPL license)
  • [https://github.com/tuttleofx/TuttleOFX TuttleOFX] (command-line OpenFX host and plugins, open source, LGPL license)

=Commercial hosts =

  • [http://www.filmlight.ltd.uk/products/baselight/overview_bl.php Baselight] (from version 2.2) by FilmLight
  • [http://www.sonycreativesoftware.com/catalystedit Catalyst Edit] by Sony Creative Software
  • DaVinci Resolve (from version 10), by Blackmagic Design
  • [http://www.hs-art.com/index.php/solutions/dustbusterplus DustBuster+] (from version 4.5), by [http://www.hs-art.com/ HS-ART]
  • [http://www.dvs.de/products/video-systems/clipster.html DVS Clipster] by DVS
  • [https://www.grassvalley.com/products/edius_pro_8/plug-ins#openfx_plug-ins EDIUS Pro] (from version 8.1, by OFX-bridge plugin from NewBlueFX), by Grass Valley
  • Fusion (from version 4.04), by Blackmagic Design (formerly by eyeon)
  • [https://hitfilm.com/ HitFilm] (from version 3 Pro) by [https://fxhome.com/ FXhome]
  • Mistika (from version 6.5.35) and [http://www.sgo.es/mamba-fx/ Mamba FX] by [http://www.sgo.es/ SGO]
  • [https://idtvision.com/products/software/motion-studio/ Motion Studio] by IDT Vision
  • [https://web.archive.org/web/20140108190553/http://www.digitalvision.tv/products/nucoda_color_grading/ Nucoda Film Master] (from version 2011.2.058) by [http://www.digitalvision.tv/ Digital Vision]
  • Nuke (from version 4.5), by Foundry
  • Piranha by Interactivefx
  • Quantel Rio by SAM
  • [http://www.assimilateinc.com/products/scratch SCRATCH] (from version 6.1), by [http://www.assimilateinc.com/ Assimilate]
  • [https://www.newbluefx.com/titling Titler Pro 4] by NewBlueFX
  • Toon Boom Harmony
  • Vegas Pro (from version 10), by Magix Software GmbH
  • Vegas Movie Studio (Platinum edition and above), by Magix Software GmbH

Discontinued:

OpenFX plug-ins

= Free and open source plugins=

  • The official [https://github.com/ofxa/openfx OpenFX SDK] (BSD license) contain sample plugins, programmed using the standard C API, or a C++ wrapper.
  • [https://github.com/NatronGitHub/openfx-arena openfx-arena] is a set of visual effects plugins, mainly based on ImageMagick.
  • [https://github.com/MrKepzie/openfx-io openfx-io] is a set of plugins for reading or writing image and video files (using OpenImageIO and FFmpeg), and for color management (using OpenColorIO).
  • [https://github.com/devernay/openfx-misc openfx-misc] is a collection of essential plugins, which provide many basic compositing tools, such as filters, geometric transforms, and color transforms. Commercial OpenFX hosts usually provide their own versions of these plugins.
  • [https://github.com/tuttleofx/TuttleOFX TuttleOFX] provides many plug-ins, especially for color grading, usable in most OpenFX hosts.
  • INK green/blue screen keyer and ChannelMath by [http://casanico.com casanico.com]
  • TalentTracker by [https://www.mut1ny.com/tt Mut1ny.com]

=Commercial plug-ins=

  • Beauty Box Video by digital anarchy
  • [http://www.colorsymmetry.com Color Symmetry]
  • Composite Suite Pro, Film Stocks, Rays, reFine, zMatte, Tiffen DFX by [http://www.digitalfilmtools.com/ Digital Film Tools]
  • DE:Flicker, DE:Noise, RE:Match, Twixtor and ReelSmart Motion Blur by RE:Vision Effects
  • [https://www.dehancer.com/shop/video/davinci_resolve Dehancer OFX plugin for DaVinci Resolve] by Dehancer
  • Film Convert for OFX{{cite web|title=Film Convert home page|url=http://www.filmconvert.com|website=Film Convert|access-date=13 August 2015}} by Rubber Monkey Software
  • [https://www.dualheights.se/genifect Genifect] by [https://www.dualheights.se Dual Heights Software]
  • [https://hitfilm.com/ignite HitFilm Ignite] by [https://fxhome.com/ FXhome]
  • [https://www.alphaplugins.com/products/products.php?menu=get_prod_id&p_menustate=&prod_id=32 HDR Enhanced] by [https://www.alphaplugins.com AlphaPlugins]
  • [http://www.frischluft.com/lenscare Lenscare and Flair] by [http://www.frischluft.com frischluft]
  • [https://www.motivacg.com/realperception-ofx/ RealPerception] by [https://www.motivacg.com Motiva]
  • [https://www.neatvideo.com/ Neat Video] by ABSoft
  • NewBlueFX plugins (including Titler Pro 3)
  • Primatte{{cite web|title=Primatte for OFX|url=http://www.primatte.com/content.cfm?n=product-film-ofx|website=Primatte|access-date=10 June 2015}} by Photron/Imagica
  • Red Giant Universe and Magic Bullet (in version 12.1, Looks, Film, Cosmo and Mojo are OpenFX plugins) by Red Giant Software
  • Sapphire Visual Effects OFX and Monsters GT VFX Plugins OFX by GenArts
  • White balance, exposure and color matching by [http://www.fbmn-software.com/ FBmn Software]
  • [https://www.invizipro.com/invizigrain InviziGrain] by InviziPro

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.{{Cite web|last=Michel|first=Élie|title=OpenMfx documentation|url=https://openmesheffect.org/|access-date=2021-08-25|website=openmesheffect.org}} A 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.{{Cite web|title=Initial commit · eliemichel/OpenMfx@ab2eef6|url=https://github.com/eliemichel/OpenMfx/commit/ab2eef6d43688214f0367cd14a6c8214ca7fa86c|access-date=2021-08-25|website=GitHub|language=en}}

Documentation

  • [http://openfx.sourceforge.net/Documentation/ The OFX Image Effects API] is the official reference.
  • [https://github.com/ofxa/openfx/blob/master/Documentation/old_doc/Guide/ofxProgrammingGuide.adoc The OFX Programming Guide for Image Effects] by Bruno Nicoletti.
  • [https://github.com/MrKepzie/Natron/wiki/OpenFX-plugin-programming-guide-%28Basic-introduction%29 OpenFX plugin programming guide], based on the [https://github.com/ofxa/openfx C++ Support library].
  • [https://openmesheffect.org/ OpenMfx documentation], an OFX Mesh Effects API, including the API reference as well as a C++ Support library and some tutorials.

References

{{Reflist}}