• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

Documentation/H03-May-2022-

Examples/H03-May-2022-

HostSupport/H25-Apr-2018-

Support/H25-Apr-2018-

include/H03-May-2022-

scripts/H25-Apr-2018-

website/htdocs/Documentation/H25-Apr-2018-

.travis-coverity-scan-build.shH A D25-Apr-20184.2 KiB

.travis.ymlH A D25-Apr-20183.9 KiB

MakefileH A D25-Apr-2018286

README.mdH A D25-Apr-20183.1 KiB

readme-ofxa.mdH A D25-Apr-20182.7 KiB

release-notes.mdH A D25-Apr-20183.6 KiB

README.md

1OpenFX effects API [![Build Status](https://api.travis-ci.org/devernay/openfx.png?branch=master)](https://travis-ci.org/devernay/openfx) [![Coverage Status](https://coveralls.io/repos/devernay/openfx/badge.png?branch=master)](https://coveralls.io/r/devernay/openfx?branch=master) [![Coverity Scan Build Status](https://scan.coverity.com/projects/15151/badge.svg)](https://scan.coverity.com/projects/15151 "Coverity Badge")
2==================
3
4A fork from the official openfx repository https://github.com/ofxa/openfx with bug fixes and enhancements.
5
6Things that need to be clarified in the OpenFX 1.4 spec
7-------------------------------------------------------
8
9### Default value for output components?
10
11When a plugin accepts different components for input and output, e.g.:
12```
13    ClipDescriptor *srcClip = desc.defineClip(kOfxImageEffectSimpleSourceClipName);
14    srcClip->addSupportedComponent(ePixelComponentRGBA);
15    srcClip->addSupportedComponent(ePixelComponentAlpha);
16
17    ClipDescriptor *dstClip = desc.defineClip(kOfxImageEffectOutputClipName);
18    dstClip->addSupportedComponent(ePixelComponentRGBA);
19    dstClip->addSupportedComponent(ePixelComponentAlpha);
20```
21Does the host have to set the dstClip components by default to the components of the srcClip, or does the plug-in have to explicitely set these, using for example:
22```
23void
24MyPlugin::getClipPreferences(OFX::ClipPreferencesSetter &clipPreferences)
25{
26    clipPreferences.setClipComponents(*_dstClip, _srcClip->getPixelComponents());
27}
28```
29
30### OpenGL render support missing documentation
31
32- when entering the render action, is the output framebuffer bound so that drawing is done on output image ?
33- may OpenGL rendering also support tiles ? In this case what coordinate system should be used to draw - relative to bottomleft of renderWindow, or canonical ?
34
35Things that need to be added to OpenFX
36-------------------------------------------------------
37
38### Plug-in and host license properties
39
40The plugin and the host license may be incompatible, e.g. if one is GPL and the other is not GPL-compatible:
41- http://www.gnu.org/licenses/gpl-faq.en.html#GPLAndPlugins
42- http://www.gnu.org/licenses/gpl-faq.en.html#GPLPluginsInNF
43
44We should have a host and instance descriptor property (kOfxPropLicense ?) that holds a string containing a standardized acronym of the license, e.g. "GPL-2.0", "BSD-3-Clause". For example, all plugins in the official OpenFX examples are "BSD-3-Clause", which is GPL-compatible. The default value should be "Commercial".
45
46For a list of license acronyms, see http://opensource.org/licenses/alphabetical
47
48### Passing host data as an opaque pointer to all suite functions
49
50All suite functions should take a void* as first argument, so that the suite function, as implemented in the host, may figure out in which context the action was called (time, view, plane, etc.). This pointer should be passed in the inArgs for all actions. This requires upgrading all suites.
51
52Possible OpenFX extensions
53--------------------------
54
55The following OpenFX extensions are not mentioned in the draft proposals on http://openeffects.org
56
57### Ability to fetch images at a given render scale
58
59### Sound effects suite
60

readme-ofxa.md

1# OpenFX image processing plug-in standard
2
3The authoritative source for information about OFX is http://openeffects.org/
4
5* [OFX Programming Guide By Example](https://github.com/ofxa/openfx/tree/master/Guide)
6* [OFX API v. 1.4 Reference](http://openeffects.org/documentation/api_doc)
7* [OFX API Programming Guide](http://openeffects.org/documentation/guide)
8* [OFX API Programming Reference](http://openeffects.org/documentation/reference)
9* [OFX Discussion Google Group](https://groups.google.com/forum/#!forum/ofx-discussion)
10
11## Why a Standard?
12VFX plug-in vendors were frustrated for years because host application vendors created proprietary plug-in interfaces. As a result, each plug-in vendor had to port their plug-ins to all the different hosts and hosts couldn't use each other's plug-ins, limiting the selection of effects available to artists. The need for a standard interface was clear, so Bruno Nicoletti of The Foundry led the effort to develop a standard. That standard is OFX.
13
14OFX is a win for artists because there is no waiting for plug-in vendors to port their cool effects to your application. Once a host compositing or editing application adopts OFX, all OFX plug-ins on the market instantly become available on that host.
15
16And OFX is a win for plug-in vendors because they can concentrate on what they do best: making cool effects
17
18## OFX Terminology
19### Host
20A video compositing or editing application, such as The Foundry Nuke, Assimilate Scratch, Sony Vegas, or FilmLight Baselight
21### Plug-in
22Video software, such as GenArts Sapphire or RE:Vison Effects which adds a wider variety of effects to a host application.
23### Open Effects
24A standardized software interface between VFX host applications and plug-ins (also known as OpenFX and OFX).
25### Editor
26An application which allows you to manipulate a video timeline by adding, removing, and changing the in and out points of video clips. Effects, Generators, Transition, Compositors and Retiming effects are commonly used in editors.
27### Compositor
28An application which allows you build a video clip by layering video clips, still images, and effects.
29
30## About the Open Effects Association
31
32The Open Effects Association (OFX), a non-profit organization, develops and promotes open standards across the visual effects community. The founding members come from Assimilate, Autodesk, Digieffects, FilmLight, The Foundry, GenArts and RE:Vision FX. These are companies which have helped artists create ground-breaking VFX shots on nearly every blockbuster movie.
33
34The Association's initial focus is to improve the OpenFX image processing plug-in standard. This goal of this standard is to reduce development effort and support needed for plug-ins across different compositing and editing host platforms.
35