FreeVJ / Bibliothèque de boucles / Motif
Cellules de Voronoï
Des parois cellulaires vivantes qui dérivent et s’épaississent avec les médiums.
Source GLSL
// Voronoi cell borders. Each point circles once every 16 beats (seamless). Mids change the border width.
vec2 prim(vec2 uv) {
vec2 g = asp(uv) * uParams.x;
vec2 cell = floor(g);
float d1 = 8.0;
float d2 = 8.0;
for (int j = -1; j <= 1; j++) {
for (int i = -1; i <= 1; i++) {
vec2 c = cell + vec2(float(i), float(j));
float h = h21(c + uSeed * 3.0);
float ph = TAU * (uBeat / 16.0 + h);
vec2 pt = c + 0.5 + 0.35 * vec2(sin(ph), cos(ph + h * 3.0));
float d = length(g - pt);
if (d < d1) { d2 = d1; d1 = d; } else if (d < d2) { d2 = d; }
}
}
float edge = d2 - d1;
float w = (0.04 + uMid * 0.08) * uParams.y;
float l = smoothstep(w, 0.0, edge) + 0.25 * smoothstep(0.12, 0.0, d1) * uKick;
l = min(l, 1.0);
return vec2(l, l);
}
Une seule fonction vec2 prim(vec2 uv) utilisant le contrat d’uniforms commun (uBeat · uBass · uKick…). Elle ne sort que luma et alpha.
Boucles similaires
Grille rétro
Motif · Une grille de sol synthwave qui avance d’une rangée par temps.
Barres de spectre
Motif · Un égaliseur : graves à gauche, médiums au centre, aigus à droite.
Anneaux tunnel
Motif · Des anneaux aspirés vers le point de fuite, plus épais à chaque kick.
Pulsation centrale
Silhouette · Deux anneaux centraux qui s’élancent à chaque kick.
Éclats kaléidoscope
Motif · Des éclats de kaléidoscope à douze branches qui s’allongent avec les g...
Tissage sinus
Motif · Des sinusoïdes entrelacées qui s’amplifient avec les médiums.