←ALL OPERATORS
> modifiers

Filter

modifiers/filter·v1.5.1
IN:1  OUT:1

The Filter smooths instances over time by keeping a short history per instance and replacing the current value with a filtered one, so jittery or stepped motion upstream comes out smooth. It works on position, rotation, scale and one extra float attribute, each with its own toggle, and is built on TouchDesigner's Time Filter POP.

Filter Type offers Gaussian, Triangle and Box averages over the Filter Width, or One Euro, an adaptive filter that smooths when still and follows quickly when moving. The Lag page adds an optional lag with overshoot and slope or acceleration clamps, while Effect and Do Falloff blend between the raw and filtered result per instance.

PAGEGeneral
GroupGroupIf there are input groups, specifying a group name in this field will cause this POP to act only upon the group specified.
Do FalloffDofalloffWeight the effect on each point by the Falloff Attribute.
Falloff AttributeFalloffattrThe point attribute, 0 to 1, that weights the effect.
PositionPositionEnable filtering the position.
RotationRotationEnable filtering the rotation.
ScaleScaleEnable filtering the scale.
OtherOtherEnable filtering a float attribute as well (Attribute).
Attribute (Float)AttrFloat attribute to filter when Other is on.
PAGEFilter
Active FilterActivefilterApply the Time Filter. When off, the data passes through and the filter history restarts when turned back on.
Filter WidthWidthSets the length of the history the filter averages. Higher values are smoother but lag more.
IncrementIncrementSets the time between the kept samples, 1 frame by default. Larger values are cheaper but coarser.
Cutoff Frequency (Hz)CutoffSets the One Euro filter cutoff frequency, in Hz, when the value is still. Lower values are smoother.
Speed CoefficientSpeedcoeffFor One Euro, how much the cutoff opens with speed. Higher values give less lag on fast motion.
Slope Cutoff Frequency (Hz)SlopecutoffFor One Euro, the cutoff frequency in Hz of the speed estimate. Lower values are steadier.
EffectEffectDetermines the amount of smoothing applied, blending from the raw result at 0 to the smoothed result at 1.
Fill Missed FramesFillmissedframesWhen on, the history is filled with the dropped frames' samples instead of leaving a gap.
Reset FilterFilterresetWhile on, the filter history is cleared every frame so the output follows the input.
Reset Filter PulseResetpulseClears the filter history and restarts from the current input.
PAGELag
Active LagActivelagEnable the lag stage. When off, the data passes straight through.
LagLagSets the catch-up time when rising (first value) and falling (second value), in Lag Unit.
OvershootOvershootHow far past the target the lag swings, while rising and while falling, in Overshoot Unit. 0 disables it.
Clamp SlopeClampslopeLimit the rate of change of the value to the Max Slope.
Max SlopeSlopeThe first value limits the slope when it is rising, and the second value limits the slope when it is decreasing.
Clamp AccelerationClampaccelEnable limiting the change of the rate to Max Acceleration.
Max AccelerationAccelThe first value limits the acceleration when it is rising, and the second value limits the acceleration when it is decreasing.
SnapSnapWhen on, the output snaps onto the target once it is within Snap Threshold.
Snap ThresholdSnapthresholdSets the distance to the target at which the lagged value snaps onto it.
Reset LagLagresetWhile on, the lag is held at the target.
Reset Lag PulseLagresetpulseJumps the lag onto the target.
FreezeFreezeHolds the lagged value. 1 freezes it, 0 leaves it free, values in between slow it down.
Reset FreezeFreezeresetWhen on, the frozen value is reset to the target every frame.
Reset Freeze PulseFreezeresetpulseReset the frozen value to the target.
PAGEFalloff
Preview FalloffPreviewfalloffEnable coloring the points by the Other attribute.
Open Custom Ramp EditorOpencustomrampeditorOpen the editor of the custom preview ramp.
Reset Custom RampResetcustomrampResets the custom preview ramp.
PAGECommon
BypassBypassPass through the first input to the output unchanged.
Free Extra GPU MemoryFreeextragpumemFree memory that has accumulated when output memory has grown and shrunk.
Render PrimitivesRenderprimitivesWhether to render the full POPX geometry. When off, only point instances are drawn.
Convert to Point PrimitivesConverttoptprimEnable converting points to point primitives when Render Primitives is off.
SRT / RSTSrtrstSets the transform order, SRT or RST, used when the points are rendered as TouchDesigner instances.
IORead
Pivotpoint vec3Per-instance pivot used to build the transform.
popxFalloffpoint floatFalloff attribute controlling where and how strongly the filtering is applied (default popxFalloff; set by Falloff Attribute).
IOModified
Ppoint vec3Instance position, temporally smoothed over the sample history.
Orientpoint vec4Instance orientation, smoothed over the sample history (shortest-path quaternion).
Scalepoint vec3Instance scale, smoothed over the sample history.
Otherpoint floatThe custom float channel chosen by Attribute (Float), smoothed over the sample history.
PointScalepoint floatUniform per-instance scale, folded into the transform.
Transformpoint mat3Per-instance 3x3 transform rebuilt from the filtered pose.
IOCreated
FullTransformpoint mat4Per-instance 4x4 transform including pivot-corrected translation.
Input 0 POP - POPX/POP Geometry
Output 0 POP - POPX/POP Geometry