DiskBlur

A special disk blur node which efficiently supports large radius blurs, and allows for a variable radius. Works by rendering each input pixel as a disk in the output, using special acceleration structures that make rendering large disks fast. Suitable as a building block for focal blur.

user

Container for user-defined plugs. Nodes should never make their own plugs here, so users are free to do as they wish.

out

The output image generated by this node.

enabled

Turns the node on and off.

in

The input image

radius

The radius of the disk to blur by in pixels.

radiusChannel

An optional input image channel which defines a blur radius per pixel, allowing the radius to be varied across the image. The per-pixel radius is multiplied with the main radius control.

approximationThreshold

The maximum acceptable error caused by omitting anti-aliasing for a particular disk. Since very large disks often contribute very little to each individual output pixel, omitting anti-aliasing for them can provide a substantial speed improvement.

maxRadius

An upper limit on the disk radius (radiusChannel * radius). Larger disks will be clamped to this size. Used to accelerate rendering, so higher-than-necessary settings may reduce speed.

layerBoundaries

Defines a series of layers which are alpha-composited to generate the final image. Each layer contains all the disks within a specific radius range, allowing “foreground” disks to occlude “background” disks. Intended for use in approximating focal blur.

The layers are defined by the radius values at their boundaries, which must be specified from low to high. Occlusion occurs between disks that are separated by at least 2 boundaries. Negative radii are accepted, allowing blurring to be represented both in front of and behind a focal plane. A reasonable value for the simulation of focal blur is therefore an exponential series from -maxRadius to +maxRadius, for example [ -32, -16, -8, -4, -2, -1, 1, 2, 4, 8, 16, 32 ]

Tip

The FocalBlur node provides a simpler and more intuitive method for defining occlusion layers (it uses the DiskBlur node internally).