FreeVJ / Bibliothèque de boucles / Silhouette
Éventail laser
Un éventail de lasers de scène balayant depuis le bas, frappant au kick.
Source GLSL
// A laser fan from the bottom centre of the stage. Sweeps left and right once every 8 beats and thickens on each kick.
vec2 prim(vec2 uv) {
vec2 p = vec2((uv.x - 0.5) * uResolution.x / uResolution.y, uv.y);
float beams = floor(uParams.x);
float sweep = sin(uBeat * TAU / 8.0) * uParams.y;
float ang = atan(p.x, p.y);
float dist = length(p);
float l = 0.0;
for (int i = 0; i < 24; i++) {
if (float(i) >= beams) break;
float g = (float(i) - (beams - 1.0) * 0.5) * 0.13 + sweep;
float w = 0.0025 + uKick * 0.006;
l += smoothstep(w, 0.0, abs(ang - g) * dist);
}
l = min(l, 1.0) * smoothstep(0.0, 0.08, dist);
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
Éclats kaléidoscope
Motif · Des éclats de kaléidoscope à douze branches qui s’allongent avec les g...
Anneaux tunnel
Motif · Des anneaux aspirés vers le point de fuite, plus épais à chaque kick.
Barres de spectre
Motif · Un égaliseur : graves à gauche, médiums au centre, aigus à droite.
Cellules de Voronoï
Motif · Des parois cellulaires vivantes qui dérivent et s’épaississent avec le...
Grille rétro
Motif · Une grille de sol synthwave qui avance d’une rangée par temps.
Pulsation centrale
Silhouette · Deux anneaux centraux qui s’élancent à chaque kick.