Jul 15th 2010

Generic Shader 3D is a template for quick shader development and tweaking in Fusion. We created it to avoid having to generate a full Visual C++ project for every random shader idea that we dream up. The tool provides the user with a large number of Fusion inputs that are passed as Cg parameters: booleans, floats, colors, materials, gradients, lights, and a transformation matrix. The user can also switch between the numbered shaders by adjusting a slider, which is implemented as a literal parameter so that only the selected code branch is compiled.

Once a shader proves to be useful and the required inputs are more or less locked-down, we typically convert it into a full-fledged 3D Fusion tool (expect more of these posted soon, by the way).

GS3

Download GenericShader3D 1.0Download GenericShader3D

Read the rest of this entry »

3 Comments »
Jul 1st 2010

Fusion 6.1 adds a new mode for Displace3D, a worldspace displacement where the input RGB is converted to XYZ positions.

This makes it do to meshes what my previous setups did in particles.

3 maps used to make geometry of a colon

3 maps used to make geometry of a colon

Read the rest of this entry »

2 Comments »
Jun 23rd 2010

Because we couldn't wait for fuses

New shader(s) coming soon

1 Comment »
Apr 6th 2010

Today I’ve got a modifier-type Fuse and a an example comp demonstrating some techniques for working with the DoD in Fusion 6+.

We’re working on a project that really needs to leverage the DoD in Fusion for efficiency at certain scales, but we are going to be relying on tools that don’t support DoD yet.  I made several attempts to create some Fuses to affect the DoD in such a way that we could control it more effectively over a comp.  This one takes advantage of the SetDomain tool to do the actual manipulation of the DoD, so it’s just a modifier that sets the appropriate sliders.

Download DoD Union Finder Modifier Fuse 1.0Download DoD Union Finder Modifier Fuse

Download DoD Union Finder and Crop with Metadata example comp 1.0Download DoD Union Finder and Crop with Metadata example comp

No Comments »
Mar 9th 2010

We’ve been working on a stereoscopic production, and we’ve been coming up with helpful tricks to make things just a tiny bit easier.  Here’s an example comp that shows a couple of them.

Position Pass and Camera Metadata Screengrab

Position Pass and Camera Metadata Screengrab

Read the rest of this entry »

3 Comments »
Feb 20th 2010

A sizable segment of the population suffers from color blindness, enough so that it’s worth considering the implications on color palettes and usability.  This tool allows you to simulate the ways that various color vision deficiencies will affect you imagery.  I’ve noticed that some of the images we create probably won’t read very well to some people, and this easily lets us check if we’ve created something that could be ambiguous.

ColorBlind fuse

ColorBlind fuse

Read the rest of this entry »

No Comments »
Oct 22nd 2009

Fusion 6 added a Color Matrix tool that lets you enter your own matrix by hand, but the biggest problem with it is the lack of any methods to modify it with.  You can’t even assign controllers to it.

Fuses, however,  let you use handy methods to modify a matrix.  I’ve used some of them to create an RGB equivalent of the 3D Transform tool.  It has a similar UI, just as 3TT does, but this modifies RGB, not XYZ or UVW.

Color Matrix Tranform fuse

Color Matrix Transform fuse

Read the rest of this entry »

1 Comment »
Oct 22nd 2009

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.

Color to Mono

Color to Mono

Mono to Color

Mono to Color

Read the rest of this entry »

No Comments »
Sep 22nd 2009

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.5Download Invert fuse

2 Comments »
Sep 2nd 2009
Absolute Values
Absolute Value Fuse

Absolute Value

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 FAbsolute Fuse 1.05Download FAbsolute Fuse

Download Absolute Value Viewshader 1.01Download Absolute Value Viewshader

Download Example Comp (Absolute Fuse) A01Download Example Comp (Absolute Fuse)

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 »

« Previous Entries