FreeVJ / Loop library / Pattern
Retro Grid
A synthwave floor grid rolling toward you one row per beat.
GLSL source
// Perspective grid approaching under the horizon (synthwave). Horizontal lines advance one row per beat — seamless over 4 beats.
vec2 prim(vec2 uv) {
float hz = uParams.y;
if (uv.y > hz) return vec2(0.0);
float z = 1.0 / max(hz - uv.y, 0.002);
float rr = fract(z * 0.12 + uBeat);
float xx = (uv.x - 0.5) * uResolution.x / uResolution.y * z * 0.25 * uParams.x / 8.0;
float rc = fract(xx);
float w = 0.05 + uBass * 0.08;
float rowLine = 1.0 - smoothstep(0.0, w, min(rr, 1.0 - rr));
float colLine = 1.0 - smoothstep(0.0, w * 0.8, min(rc, 1.0 - rc));
float l = max(rowLine, colLine) * (0.15 + 0.85 * smoothstep(0.0, 0.35, hz - uv.y));
return vec2(l, l);
}
One vec2 prim(vec2 uv) function using the shared uniform contract (uBeat · uBass · uKick …). It outputs luma and alpha only.
Similar loops
Spectrum Bars
Pattern · An equaliser of bars: lows on the left, mids in the middle, highs on t...
Center Pulse
Shape · Two centred rings that punch outward on each kick.
Tunnel Rings
Pattern · Rings rushing toward a vanishing point, thickening on every 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.