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…

Generator

Gen­er­a­tor is a sim­ple and free plug-​​in for Adobe After Effects which can be used to cre­ate nor­mal maps from alpha mattes, such as text and shape lay­ers.
It is based on some of the same algo­rithms as my more ver­sa­tile Celu­light plug-​​ins, but is com­par­a­tively sim­ple and offers none of the advanced cus­tomiza­tions its more feature-​​rich brother offers.

Gen­er­a­tor is designed to run in coop­er­a­tion with the free Nor­mal­ity re-​​lighting solu­tion to cre­ate shad­ing and light­ing effects for text and arbi­trary shapes with­out the need for pre-​​rendered 3D nor­mal passes.

GeneratorGeneratorGeneratorGenerator

Usage

When using Nor­mal­ity to add light­ing and shad­ing effects to motion graph­ics, some­times you’d wish there was a quick and easy way to cre­ate a nor­mal map from text or shapes instead of rely­ing on a com­plex 3D ren­derer… that’s where Gen­er­a­tor comes in!
Just drop this plug-​​in on your text, shape or any other layer with a clean alpha chan­nel and you will instantly see a nor­mal map based on the layer’s shape. Gen­er­a­tor is kept inten­tion­ally sim­ple with very few options and hence lit­tle room for error — in fact, there is only a sin­gle para­me­ter to adjust.

The auto­mat­i­cally gen­er­ated nor­mal map can be used by Nor­mal­ity to add shad­ing and light­ing effects even with­out a pre-​​rendered 3D nor­mal pass.
Note: Due to a bug in Nor­mal­ity, you must pre-​​compose your gen­er­ated nor­mal map before apply­ing Normality.

Download Generator Beta 0.2

Down­load
Gen­er­a­tor for After Effects is a free down­load for Microsoft Win­dows.

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.

Re: Normality's 50.000 Downloads

A quick follow-​​up to last week’s post about Nor­mal­ity reach­ing 50.000 down­loads: While I’m happy that the soft­ware is so pop­u­lar and that it is being put to good use in stu­dios around the world, what I’m not so thrilled with is the ratio of down­loads to donations.

So far only 13 (!) of the roughly 55.000 down­load­ers have con­tributed to say thanks and to sup­port con­tin­ued devel­op­ment of the soft­ware. Alas, that’s less than 0.1% of all down­load­ers.
Now I never expected to get rich by releas­ing a dona­tion­ware After Effects plug-​​in… but it would def­i­nitely be nice to at least be able to off­set my host­ing costs.

Main­tain­ing and sup­port­ing free soft­ware costs time and money that I am no longer able or will­ing to put in at this rate.

Normality reaches 50.000 downloads

It’s been just a few months since I released Nor­mal­ity 3.0 for After Effects. Back then it was only known as a secret weapon in  the darker realms of the After Effects com­mu­nity.
Then Video Copi­lot came along and fea­tured Nor­mal­ity in their fan­tas­tic and in-​​depth tuto­r­ial, lead­ing to a mas­sive boost in the software’s pop­u­lar­ity and usage around the world.

Now, after sub­tract­ing the thou­sands of “ille­git­i­mate” down­loads dur­ing an attack on my site in Sep­tem­ber, I can proudly announce that Nor­mal­ity has offi­cially reached 50.000 downloads!

Nor­mal­ity Down­loads by OS

Google Chart

The chart shows  the dis­tri­b­u­tion between the Win­dows and OS X ver­sions, leav­ing the Mac all the way down at just 10%.

Nor­mal­ity Down­loads by Region

Google Chart

And, because I’m a fiend for sta­tis­tics, here’s the break­down by region. A cou­ple of sur­prises there in my opinion!

Any­way, this means there are (poten­tially) 50.000 users of my plug-​​in out there! I would def­i­nitely like to hear from you all about your expe­ri­ences with the soft­ware and the cool projects you are using it on.

Downloads suspended. Edit: We're back

Due to what is either mas­sive abuse, neg­li­gence or an out­right denial of ser­vice attack, I have been forced to sus­pend access to all down­loads until fur­ther notice.

A user with the IP address 208.95.112.198 found it nec­es­sary or fun to down­load Nor­mal­ity 44.712 times in one night… that’s sim­ply unac­cept­able and unfor­tu­nately actions had to be taken to pre­vent con­tin­ued abuse of my lim­ited resources.

I apol­o­gize for the incon­ve­nience and hope to rein­state down­loads once the traf­fic has returned to a more rea­son­able level.


Edit: It looks like things have returned to nor­mal. Down­loads are back up ten­ta­tively, but I’ll keep an eye out for any sus­pi­cious activity…

Misconceptions of Normality

I’d like to take this moment to clear up a cou­ple of com­mon mis­con­cep­tions about Nor­mal­ity that are being spread around many blogs and forums and are not only unhelp­ful but fac­tu­ally wrong.

  1. Nor­mal­ity is not a copy of ZBornToy

    Far from it. While both plug-​​ins were devel­oped at roughly the same time with­out knowl­edge of each other, the first offi­cial release of Nor­mal­ity was in fact pub­lished more than half a year before ZBorn­Toy hit the scene in Octo­ber 2006.

    And whereas the fea­tures may seem sim­i­lar at a cur­sory glance, the plug-​​ins also serve quite dif­fer­ent pur­poses and address other pro­duc­tion needs.

  2. Nor­mal­ity is not a free replace­ment for Youveelizer

    I’m not sure how this one started. Any­one tak­ing two min­utes to read the feature-​​lists will real­ize that not only do Nor­mal­ity and You­veel­izer not do the same thing, their fea­tures don’t even overlap.

    Yes, they are both plug-​​ins for Adobe After Effects, but that’s where the sim­i­lar­ity ends. (Tech­ni­cally You­veel­izer isn’t even a plug-​​in: It’s a Pixel Ben­der script, but that may be argu­ing semantics.)

    Any­way, You­veel­izer is designed to apply tex­tures or decals to pre-​​rendered objects and I highly rec­om­mend it if that’s what you are look­ing to do. Nor­mal­ity on the other hand is used to shade and light pre-​​rendered objects within After Effects and does not deal with tex­tures.
    Please don’t get the two mixed-​​up, they’re totally dif­fer­ent concepts.

  3. Nor­mal­ity can’t replace a 3D renderer…

    … and it’s not designed to, either. But that doesn’t make it use­less! After mak­ing your­self famil­iar with Nor­mal­ity you can sim­ply choose on a shot-​​by-​​shot basis whether the trade-​​off between qual­ity and speed that the plug-​​in offers is Good Enough™ or whether your shot calls for all-​​out GI, FG, super-​​sampled ray-​​tracing with sub­sur­face scat­tered 4K dis­place­ment maps at the cost of poten­tially wait­ing hours just to see a lit­tle pre­view that does not reflect the final ren­der in any shape or form. With Nor­mal­ity, what you see is what you get, and that’s a plus to many users, even if it means deal­ing with some limitations.

    Stu­dio Lam­pion’s ani­mated short film A Night at the Cathe­dral was shaded entirely in Nor­mal­ity, show­ing that it is in fact a prac­ti­cal solu­tion if the look you’re aim­ing for allows for it and you under­stand what you can get away with and what is bet­ter left to a true 3D renderer.

    In the end Nor­mal­ity is just a tool — a free one at that. Use it if you feel it’s suited for the task at hand, just don’t expect it to work miracles.


I hope this post will help to clear up these issues that have been nag­ging me wher­ever I come upon a pub­lic dis­cus­sion of Nor­mal­ity. With any luck it will pre­vent unin­formed and igno­rant com­ments from mis­lead­ing too many peo­ple who could poten­tially improve their work­flow using my free software.