FreeVJ / Библиотека лупов / Узор
Ретро-сетка
Синтвейв-сетка пола, приближающаяся на ряд за долю.
Исходник GLSL
// 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);
}
Одна функция vec2 prim(vec2 uv) с общим контрактом uniform (uBeat · uBass · uKick …). Выводит только luma и alpha.
Похожие лупы
Полосы спектра
Узор · Эквалайзер: басы слева, середина в центре, верха справа.
Центральный пульс
Силуэт · Два центральных кольца, бьющие наружу на каждом бочке.
Кольца тоннеля
Узор · Кольца, летящие в точку схода и утолщающиеся на каждом бочке.
Ячейки Вороного
Узор · Живые стенки клеток, дрейфующие и утолщающиеся на средних частотах.
Лазерный веер
Силуэт · Веер сценических лазеров снизу, бьющий на бочке.
Осколки калейдоскопа
Узор · Вращающиеся двенадцатилучевые осколки, удлиняющиеся на басу.