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…

Atlas

Atlas is a port of the pfstmo tone map­ping oper­a­tors to the Adobe After Effects plug-​​in for­mat. This plug-​​in is free open source soft­ware licensed under the GPL.

AtlasAtlasAtlasAtlasAtlas

Tone Mapping

So what’s tone map­ping you ask? Accord­ing to Wikipedia:

Tone map­ping is a tech­nique used in image pro­cess­ing and com­puter graph­ics to map a set of colours to another; often to approx­i­mate the appear­ance of high dynamic range images in media with a more lim­ited dynamic range.

The tech­nique is par­tic­u­larly use­ful if you have high dynamic range images, such as ren­dered CG-​​imagery in float­ing point color-​​depth (OpenEXR) or HDR pho­tographs, and you want to bring their broad spec­trum into a range more suit­able for dis­play on a com­puter mon­i­tor or tele­vi­sion screen.

There exist numer­ous tone map­ping oper­a­tors that approach this prob­lem from dif­fer­ent angles and achieve vary­ing results.

Sup­ported tone map­ping operators
Drago
Ashikhmin
Rein­hard ’02
Rein­hard ’05
Man­tiuk
Durand
Pat­tanaik
Fat­tal

Lately, the effect has also become some­thing of a fad in photographer’s cir­cles, as a quick Flickr Search will show.
Still tone map­ping is a very ver­sa­tile tech­nique that can be used for pho­to­re­al­is­tic as well as artis­tic effects.

Download Atlas 0.3 (Beta)

Down­load
Sorry, Win­dows only for now. The included source code may be used to com­pile a release for Mac OS X by some­one with more time on their hands than me.
If you want to play with the code you will also need to install the After Effects SDK, which I can­not include for legal reasons.

Usage Notes

Atlas is designed to work exclu­sively in 32-​​bit float­ing point color-​​space. Apply­ing Atlas in 8-​​bit or 16-​​bit projects will yield unpre­dictable and/​or pos­si­bly unbe­liev­ably gross and ugly results. Don’t say I didn’t warn you…

Donations

Devel­op­ing free soft­ware costs time and money. If you appre­ci­ate my work and use it in pro­duc­tion, please donate.
I will be more inclined to release cool stuff in the future if I see that my work is appreciated.

New Celulight Build

The lat­est Celu­light Build was just uploaded and con­tains sev­eral fixes:

  • Pre-​​comping should work now. I didn’t have time to test it prop­erly, but I’m con­fi­dent that I found the issue.
  • The num­ber of para­me­ters has been stripped down a bit and assorted in a more log­i­cal manner.
  • The installer pro­gram is back and should now install to the cor­rect directory.
  • Down­load Celu­light Installer

    I won’t have that much time to work on my plug-​​ins this month as I am vis­it­ing my fam­ily in China.

    Normality 1.1

    I found some time to fix a few minor issues in my Nor­mal­ity plug-​​ins for After Effects.

    There are no new fea­tures this time around, just some bug fixes, speed and inter­face improve­ments as well as a proper installer.

    Another Celulight Update

    Celu­light is pro­gress­ing well, so here comes another pretty large update!

    Changes in build 293:

  • Improved nor­mal map gen­er­a­tor. Thanks to Chris For­rester for his help with the new algorithm!
  • Proper spec­u­lar high­lights — the old ones were just a hack, now it’s accu­rate and realistic.
  • Down­load Celu­light Beta

    Celulight Beta 2

    Another week­end, another new ver­sion of Celu­light for pub­lic test­ing: I’ve fixed a num­ber of bugs and added some cool new fea­tures, including:

  • The nor­mal map gen­er­a­tor has been vastly improved and yields much smoother results with­out blur­ring out the details.
  • It’s pos­si­ble (and rec­om­mended) to spec­ify the line width — this way, Celu­light can also shade the out­lines so you can get rid of them in your ren­ders if you like.
  • The blue chan­nel (height) is cal­cu­lated. This allows the ren­der­ing of effects such as rim lights and embossed surfaces.
  • It is now pos­si­ble to select indi­vid­ual light sources.
  • The light’s col­ors are used for shading.
  • Sup­port for mul­ti­ple light sources has been implemented.
  • That’s the new fea­tures I can think of… I won’t list all bug fixes here for now.

    As always, you can grab the lat­est ver­sion of Celu­light here.