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