Ported plug-ins to OpenFX

Finally found a lit­tle time to port most of my After Effects plug-​​ins to the OpenFX for­mat. So far I have Gen­er­a­tor, Celu­light, Occlu­sion­ist, Edgar, Flood­gate and a cou­ple more fil­ters run­ning in both 32-​​bit and 64-​​bit in Win­dows and Linux.

The port was fairly straight­for­ward: Back when I was rewrit­ing Nor­mal­ity for ver­sion 3.0 I’d designed a portable wrap­per around the After Effects–spe­cific parts of the code, so it would be easy to sep­a­rate the graph­ics algo­rithms from the GUI side. My plug-​​ins also share many libraries with my 3D shaders, which were already designed to be cross-​​platform and 64-​​bit capa­ble.
So this strict sep­a­ra­tion paid off for me as it made port­ing the soft­ware to the OpenFX for­mat quite painless.

What's this OpenFX business?

The OpenFX (OFX) for­mat is, as the name sug­gests, an open stan­dard for visual effects plug-​​ins.
For me as a devel­oper there are a num­ber of tech­ni­cal ben­e­fits as the API is open, rea­son­ably mod­ern and far more acces­si­ble than the pro­pri­etary, aging and con­vo­luted After Effects API my plug-​​ins were orig­i­nally writ­ten for.

The really great thing for devel­op­ers and users alike is that OFX is sup­ported by a grow­ing num­ber of com­posit­ing appli­ca­tions includ­ing Nuke, Fusion, Shake and Toxic/​Maya Com­pos­i­tor. (Notice a promi­nent com­pos­i­tor miss­ing from that list…?)
Any­way, that means the next time a soft­ware devel­oper decides to arbi­trar­ily end sup­port for your plat­form of choice, you can at least take your col­lec­tion of plug-​​ins with you.

Normality for OpenFX?

Cur­rently not, unfor­tu­nately… as much as I like the OFX API, it does have some lim­i­ta­tions which make a faith­ful port of Nor­mal­ity impossible.

I do have a solu­tion in mind but it’ll take some time to design and imple­ment. With­out reveal­ing too much at this point, I’ve been con­sid­er­ing free­ing Nor­mal­ity from the shack­les of a host appli­ca­tion alto­gether for quite some time now…