FreeVJ / Loop library / Pattern
Spectrum Bars
An equaliser of bars: lows on the left, mids in the middle, highs on the right.
GLSL source
// Band bars — lows on the left, mids in the centre, highs on the right. A 4-beat ripple shakes their height.
vec2 prim(vec2 uv) {
float n = floor(uParams.x);
float i = floor(uv.x * n);
float f = fract(uv.x * n);
float t = i / n;
float b = t < 0.25 ? uBass : (t < 0.6 ? uMid : uHigh);
float h = 0.06 + 0.6 * b * (0.55 + 0.45 * sin(i * 1.7 + uBeat * TAU / 4.0));
float gap = uParams.y * 0.5;
float bar = step(gap, f) * step(f, 1.0 - gap) * step(uv.y, h);
float l = bar * (0.55 + 0.45 * uv.y / max(h, 0.01));
return vec2(l, bar);
}
One vec2 prim(vec2 uv) function using the shared uniform contract (uBeat · uBass · uKick …). It outputs luma and alpha only.
Similar loops
Tunnel Rings
Pattern · Rings rushing toward a vanishing point, thickening on every kick.
Retro Grid
Pattern · A synthwave floor grid rolling toward you one row per beat.
Center Pulse
Shape · Two centred rings that punch outward on each kick.
Voronoi Cells
Pattern · Living cell walls that drift and thicken with the mids.
Laser Fan
Shape · A fan of stage lasers sweeping from below, punching on the kick.
Kaleido Shards
Pattern · Rotating twelve-fold kaleidoscope shards that lengthen with the bass.