Omino Diffusion+

From 3.9ChannelGlitchNoiseProceduralRaster

Renders a photo or video layer with a limited palette using error diffusion, but damping or exaggerating the quantization errors to create intentional distortions. Individual images become unrecognizable, but action can be seen in the moving aggregate. This effect is based on the Omino Suite, with special thanks to David Van Brink.

Properties
Angle

The angle along which quantization errors are diffused. At an angle of 0º, errors are diffused from left to right, with angles increasing clockwise.

Range: 0º to 3600º; Default: 0º
Strength

The distance over which quantization errors are diffused, as a ratio of the size of the layer.

Range: 0.01 to 1; Default: 1
Steps

The number of samples along the direction specified by Angle which contribute to the final pixel color.

Range: 1 to 200; Default: 35
Error Weight

A weighting factor applied to the residual error remaining after each pixel color is quantized. If this is set to 1.0, this effect behaves similarly to regular error diffusion dithering (except that, unlike Floyd–Steinberg dithering, residual quantization errors are not spread into other rows of pixels). The interesting patterns and unusual characteristics of the Omino Diffusion+ effect are achieved by intentionally amplifying errors by setting the weight to higher values. Setting the weight to zero will yield results similar to the Palette Map effect.

Range: 0 to 10; Default: 0.75
Weight Falloff

An exponential decay factor applied to Error Weight used for more distant samples (the decay causes the error weight for more distant samples to approach 1.0)

Range: 0% to 100%; Default: 0%
Palette

The color palette used to quantize the colors in the image. A variety of preset palettes are available, or you can select one of the custom palette options to choose colors manually.

  • Black/White
  • RGB Posterize, 2 Levels
  • RGB Posterize, 3 Levels
  • RGB Posterize, 4 Levels
  • Gray, 3 Levels
  • Gray, 4 Levels
  • CGA Green/Red/Yellow
  • CGA Cyan/Magenta/White
  • CGA Blue/Cyan/Magenta/White
  • Saturate and Posterize
  • Custom 2-Color
  • Custom 3-Color
  • Custom 4-Color
  • Custom 5-Color
  • Custom 6-Color
Default: RGB Posterize
Alpha

Controls the opacity of the effect. When set to 1.0 the effect output completely overwrites the original colors in the layer; reduce this to make the effect partly transparent, blending the effect output with the original layer colors.

Range: 0 to 1; Default: 1
Blending Mode

Controls how the effect is blended with the original colors in the layer.

  • Normal: The effect completely overwrites the original layer colors.
  • Multiply: The standard Multiply blending mode: The output of the effect is multiplied with the original color of each pixel in the layer (this results in darker colors being used).
  • Screen: The standard Screen blending mode: The inverted output of the effect is multiplied with the inverted original color of each pixel in the layer, and the result is then inverted one last time (this results in lighter colors being used).
Default: Normal
Custom Palette
Color 1

These colors define the custom palette used when Palette is set to one of the Custom N-color options.

Default:  
Color 2

These colors define the custom palette used when Palette is set to one of the Custom N-color options.

Default:  
Color 3

These colors define the custom palette used when Palette is set to one of the Custom N-color options.

Default:  
Color 4

These colors define the custom palette used when Palette is set to one of the Custom N-color options.

Default:  
Color 5

These colors define the custom palette used when Palette is set to one of the Custom N-color options.

Default:  
Color 6

These colors define the custom palette used when Palette is set to one of the Custom N-color options.

Default:  

Usage

Omino Diffusion+ works well with layers that contain a lot of varying tones or colors, and is less effective with large areas of solid color. In particular, the best results are obtained by using this effect with videos that contain a lot of motion (or with groups that contain many animated layers, particularly animated layers with image or gradient fill).

The easiest way to use this effect is to first select a palette. For black-and-white results, or a retro CGA look, the preset palettes work best. If you're planning to use colors similar to those in the original video, a custom palette will generally yield the best results. A good strategy for building a custom palette is to try to cover a wide range of hues, focusing on darker or muted tones, but favoring colors similar to the original video, and then pick one or two brighter key colors from the video as accents, but increase the saturation or brightness of the key colors beyond that of the original video. This will cause the color quantization process to mostly select colors darker or more muted than the originals, thus accumulating a larger residual error towards brighter colors, which will then occasionally cause pixels of the brighter or more saturated colors to appear.

After selecting a palette, adjust Strength and Steps, then tune Error Weight (usually to a high number) and Angle. Finally, adjust Weight Falloff if you want limit the spread of the error weight to nearby pixels.

You may want to finish off by adjusting the Blending Mode or Alpha to reveal some of the original layer colors.'

Animation Tips

This effect generally works best when it is applied to a layer that already contains motion, rather than animating the properties of this effect itself. In particular, to achieve changes in the pattern of "glitches" that this effect creates, you should apply some kind of randomization or movement before applying this effect, such as by using Noise, Turbulence, or Turbulent Displace for example.

Some areas where property animation may be useful, however, are animating Alpha, Error Weight, or Weight Falloff in order to create the feeling of the quantization errors or "glitches" emerging or resolving gradually.

How it Works

This effect goes through each pixel in the layer and calculates a new color for that pixel based on nearby pixels.

Angle, Strength, and Steps all combine to determine which pixels are sampled when calculating the color of an output pixel.

For any given output pixel, a line is projected backwards along the direction given by Angle, over a length determined by Strength. A number of pixels equal to Steps are sampled at regular intervals along that line, starting the furthest away from the output pixel and moving towards it.

Each sampled pixel is quantized into the selected palette, with any residual error being carried over into the next sampled pixel and eventually into the output pixel, and those combined errors determine how the output pixel is quantized into the palette.

At each step along the way, the residual errors are be magnified or suppressed based on the Error Weight and Weight Falloff settings.

Use Cases

See Also