OpenFX Programming Guide
This is a mostly complete reference guide to the OFX image effect plugin architecture. It is a backwards compatible update to the 1.2 version of the API.
- Foreword
- Intended Audience
- What is OFX?
- The Examples
- Wrapping the API
- License
- Key Concepts and Terminology
- The Two Bootstrapper Functions
- The OfxPluginStruct
- Suites
- Properties
- Actions
- Basic Actions For Image Effect Plugins
- Life Cycle of a Plugin
- Summary
- Action Stations!
- Describing Our Plugin
- Clips
- Images In OFX
- The Render Action
- Summary
- Parameters
- Actions
- Describing Our Plugin
- Instances and Parameters
- Getting Values From Instances
- Summary
- Multiple Contexts, Why Bother?
- Describing Our Plugin
- The Other Actions
- A Bit Of Housekeeping
- Summary
- Spatial Coordinate Systems
- Loading Our Plugin
- Description
- Get Region Of Definition Action
- Is Identity Action
- Rendering
- Summary
This directory tree contains a set of plugins and corresponding
guides which take you through the basics of the OFX
Image Effects Plugin API.
There are two sub-directories...
- Code - which contains the example plugins source files,
- Doc - has a guide to each plugin.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
BUILDING THE PLUGINS
The plugins and support libs are set up to use cmake to generate and run builds.
See the top-level README.md in the repo, and use `scripts/build-cmake.sh`.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
BUILDING THE DOCUMENTATION
See the file Documentation/README, and use `Documentation/build.sh`.
The docs are also auto-generated on commit to the main branch on github.
This is a brief description of examples which could
do with being added to the Guides.
The following examples should be added to the guide.
OpenGL Overlay Example
======================
A trivial example along the lines of the circle drawing example.
This will illustrate...
- openGL overlays
Temporal Difference Example
===========================
Compute the absolute difference between images at two different times.
This will illustrate...
- fetching images at separate times
- the get frames needed action
Transition Example
===========================
A simple straight frame blend transition
This will illustrate...
- the transition context
Custom Parameter
================
Something like the circle drawing plugin so that it has no double parameters, but only a single custom parameter, controlled via the overlay UI.
This will illustrate...
- using custom parameters.
3x3 2D Filter
=============
Does a variety of simple 2D filtering operations using a 3x3 window.
This will illustrate...
- the get region of interest action
Analysis Plugin
===============
The plugin will find the minimum and maximum value of a given frame in response to a push button, and store the values
into two parameters. During renders it will rescale pixel values so that 'min' is 0 and 'max' is the whitepoint.
This will illustrate...
- writing to parameters in response to a button press outside of render.
Basic OpenGL Example
==============
Behaviour to be determined.
This will illustrate the basics of rendering in OpenGL
Last Edit 11/11/14