Two more Fuses, this time some really simple ones that convert multi-channel images to mono-channel and back again. Color is overrated, in general, and I find myself getting a lot of use out of these.
1 Comment »
Two more Fuses, this time some really simple ones that convert multi-channel images to mono-channel and back again. Color is overrated, in general, and I find myself getting a lot of use out of these.
1 Comment »
The latest builds of Fusion (>475) allow fuses to work with canvas color and ROIDS. I thought I’d try that out on my Invert fuse, and it seems to work just fine. You now have the option of whether or not to invert the canvas color. The ROIDS support makes what was a pretty fast fuse into something even faster under most situations, and it won’t break a nice DoD-managed comp.
As time permits, I’ll go through my other fuses and add similar functionality.
Download Invert fuse 1.52 Comments »
I’m often trying to find the magnitude of something, regardless of sign. Commonly done for things like normals or velocity or distance. You would expect there to be a built in tool for that sort of thing, but there isn’t.
Previously, I did it with a CT or a Fuse operating on a per-pixel basis. An f.Color.rgb = abs(f.Color.rgb) sort of thing, which is pretty slow in Fusion as a CT or Fuse, but is plenty fast in Cg. More on that later.
Today I had an idea on how to do it with a matrix. The basic idea is to scale the the image by .5, and by -.5 and find the difference of the two. So |x| = (.5*x)-(-.5*x)
This method is much faster. The resulting Fuse runs about 40% faster than a CT, and several times faster than the old Fuse I had made which operated pixel by pixel. Unfortunately, ROI isn’t supported yet for Fuses, so if you have a tiny ROI, the CT or the CMx’s will both run faster. EDIT: ROIDS can be supported in Fuses… I’ll need to add it to the Fuses I’ve posted so far. Stay tuned…
So here’s the Fuse, a Cg ViewShader that lets you view the absolute value in a Viewer, and an example comp showing the CT, Fuse, and CMx methods, as well as the ViewShader.
Download Absolute Value Viewshader 1.01![]()
Download Example Comp (Absolute Fuse) A01![]()
It would be interesting to see if the disparity between the speeds of processing the matrix vs per-pixel goes away when you compile a c++ plugin…
2 Comments »
Ok, so this one was just to see if I could make a fuse that was faster than the tool it was replacing, in this case Bol.

It scales better than Bol does, so on small images, they run at about the same speed, but on really large images, the fuse runs several times faster.
It’s not all about speed, though. Having a tool called “Invert” that inverts just makes sense to me. What I loved about Shake was that the tools did so little; each was a little atomic thingy, like IAdd, SetAlpha, IMax, etc. It made it very easy to “read” a comp just by looking at the flow. With Fusion, I just see ChannelBool…, ChannelBool…, ChannelBool…, etc. Who can read that?
Duiker Research must have had a similar thing in mind when they made their drUtilSuite for Fusion.
3 Comments »

Here’s a fuse I made to normalize an image from one range to another. The math is simple, but it gave me a chance to try out ColorMatrix() for the processing as well as SetSource() for the UI elements. It’s pretty fast, but Matt might take a crack at converting it to a C++ plugin just to see what is involved in the conversion process and see how useful fuses are for prototyping.
1 Comment »