Coming from Nuke, there’s really only one thing I miss: being able to convolve an image with another, eg. to mimic more complex bokeh, or to apply the captured artefacts of a real lens on a CG image.

Sure the Defocus tool lets you tweak the lens model to be bladed and fade from the centre etc. but it still looks very artificial; and the Custom Filter only lets you convolve by kernels of up to 7 × 7 pixels, which is really tiny.

So, is there a tool that I’m missing, or a 3rd party Fuse or plugin for this?

I don't remember having seen one, but a convolve is simple enough that it would make a good first project for someone interested in learning how to make Fuses.

Fusion's Custom Filter has all kinds of problems, anyway. You can type in decimals, but it just rounds them off to integers. If you switch to the Common Controls tab and back to the main tab, it will reset to a 3x3 matrix. And, as you pointed out, it's limited to a very small kernel.

Thanks Bryan. I wanted to do an FFT Fuse since it would be valuable for both convolutions and lens diffraction patterns. But there are two things putting me off:

Lack of structured documentation. I started with the User, Tool and Scripting manuals in my installation, and had to jump over to a clone of the VFXPedia before BMD ditched it, but this one refers to eyeonScript instead of fusionScript. I know they’re the same in principle, but for example the manuals refer to some “optimised” functions like Blur() that are not documented anywhere else. Is this because they were added after VFXPedia, or because VFXPedia’s Fuse Tool Script Reference isn’t complete? Is there an official updated reference?

If you look around it seems no-one has done it. This might be because it’s so simple it wasn’t worth posting, or because it’s so complex no-one’s managed to do it, and frankly, seeing the code of some more complex OpenCL Fuses scares me a bit.

So I was trying to get this working on Fusion 9, and it was erroring until I hand picked the GPU in the OpenCL settings (choosing Select in the Device checkboxes). I decided giving the CPU a go too, and to my surprise, it showed something similar to yours, Bryan.

It’s super basic; the shape is always the same and there’s no way of changing it. I’d love to try and implement that, but I have to make it stable yet— if the images are too big, it crashes, instead of just taking very long. Not cool.