Docs Visual

CircularDistortionTOP

A circular distortion for images: rings of displacement around a centre you place, with phase, frequency, amplitude and a mode blend, and a choice of how the input extends past its edge.

◧ Visual ◆ Patreon:Base

This tool unlocks with Patreon. It installs through the same picker as everything else and unlocks with the Patreon Base tier or higher, connected from inside TouchDesigner. Everything else in the toolkit stays free and MIT, and the membership is what keeps that work moving.

Join on Patreon → How unlocking works →

What it is

CircularDistortionTOP pushes the image in rings around a point. Frequency sets how many rings, Amplitude how far the pixels move, Phase spins the rings outward or inward when animated, and Mode blends between the distortion's two characters. Put the centre on a face, a logo or the middle of the frame and drive Phase from a CHOP for a ripple; crank Amplitude for a lens that breathes.

It is a member of the FNS operator family: pick it from the FNS tab of the OP Create dialog and it lands as one node.

Inputs and output

  • in1 (TOP): the image to distort.
  • out1 (TOP): the distorted image.

Parameters

Custom

ControlType / defaultWhat it does
CenterCenter xyzw0.5 The point the rings are centred on, in UV: 0.5, 0.5 is the middle of the image.
PhasePhase number0.5 Shifts the rings outward or inward; one full step (0 to 1) moves them one ring. Animate it to make them travel.
FrequencyFrequency number0.5 How tightly the rings are packed: higher values put more rings across the image.
AmplitudeAmplitude number0.5 How far the rings displace the image. 0 leaves it untouched.
ModeMode number1 Blends two ways of distorting: 0 scales the image radially around the centre, 1 pushes each pixel along its direction from the centre.
Input Extend Mode UvInputextenduv menuMirror What a displaced sample returns outside the image: hold the edge, zero, repeat or mirror.
Options: Hold, Zero, Repeat, Mirror

Edit this page on GitHub →