Hydra video feedback is created by routing output into a named buffer and reading that buffer back
In Hydra, output buffers are named o0, o1, etc. By specifying a named buffer in .out(o0) and then using o0 as a modulation source in the same chain, the previous frame’s output is fed back into the current frame’s computation — this is video feedback. The .modulate() function displaces the current source using the buffer, and parameters (like mouse.x) can control the feedback intensity. This creates self-similar, evolving patterns characteristic of analog video synthesis aesthetics.
Examples
osc( 16, .15, .5 )
.modulate( o0, () => mouse.x * .0001 )
.rotate( Math.PI/3 )
.out( o0 )
The oscillator reads the previous frame from o0 and writes back to o0, creating recursive visual feedback.
Assessment
Explain why writing .out() (without arguments) would break the feedback loop in the example above. Then predict what increasing the mouse.x * .0001 multiplier would do to the feedback behavior.