FreeVJ / Библиотека лупов / Узор
Кольца тоннеля
Кольца, летящие в точку схода и утолщающиеся на каждом бочке.
Исходник GLSL
// Rings pulled into the vanishing point. Two rings every 4 beats — seamless. Kick and lows thicken them.
vec2 prim(vec2 uv) {
vec2 p = asp(uv);
float r = length(p);
float a = atan(p.y, p.x);
float depth = 0.35 / (r + 0.05) * (uParams.x / 16.0);
float z = depth + uBeat * 0.5 + uParams.y * 0.35 * sin(a * 3.0 + uBeat * TAU / 4.0);
float ring = abs(fract(z) - 0.5);
float w = 0.05 + uBass * 0.12 + uKick * 0.06;
float l = smoothstep(w, 0.0, ring) * smoothstep(0.02, 0.35, r);
return vec2(l, l);
}
Одна функция vec2 prim(vec2 uv) с общим контрактом uniform (uBeat · uBass · uKick …). Выводит только luma и alpha.
Похожие лупы
Полосы спектра
Узор · Эквалайзер: басы слева, середина в центре, верха справа.
Ретро-сетка
Узор · Синтвейв-сетка пола, приближающаяся на ряд за долю.
Лазерный веер
Силуэт · Веер сценических лазеров снизу, бьющий на бочке.
Ячейки Вороного
Узор · Живые стенки клеток, дрейфующие и утолщающиеся на средних частотах.
Центральный пульс
Силуэт · Два центральных кольца, бьющие наружу на каждом бочке.
Осколки калейдоскопа
Узор · Вращающиеся двенадцатилучевые осколки, удлиняющиеся на басу.