Files
dotfiles/cava/shaders/northern_lights.frag
T
atdunbg 87be571667 新增 niri/dms/gtk/qt/cava/fcitx5 等配置并添加 .gitignore
- 纳入版本管理: niri/(含 dms/), DankMaterialShell/, environment.d/,
  cava/, gtk-3.0/, gtk-4.0/, qt5ct/, qt6ct/, fcitx5/
- 新增 .gitignore: 排除 *.bak/*.backup*、fcitx5/conf/cached_layouts、
  DankMaterialShell 运行时标志
- 同步已有的 kitty/nvim/.zshrc 修改
2026-06-29 17:32:34 +08:00

35 lines
1009 B
GLSL

#version 330
in vec2 fragCoord;
out vec4 fragColor;
// bar values. defaults to left channels first (low to high), then right (high to low).
uniform float bars[512];
uniform int bars_count; // number of bars (left + right) (configurable)
uniform vec3 u_resolution; // window resolution, not used here
//colors, configurable in cava config file
uniform vec3 bg_color; // background color(r,g,b) (0.0 - 1.0), not used here
uniform vec3 fg_color; // foreground color, not used here
void main()
{
// find which bar to use based on where we are on the x axis
int bar = int(bars_count * fragCoord.x);
float bar_y = 1.0 - abs((fragCoord.y - 0.5)) * 2.0;
float y = (bars[bar]) * bar_y;
float bar_x = (fragCoord.x - float(bar) / float(bars_count)) * bars_count;
float bar_r = 1.0 - abs((bar_x - 0.5)) * 2;
bar_r = bar_r * bar_r * 2;
// set color
fragColor.r = fg_color.x * y * bar_r;
fragColor.g = fg_color.y * y * bar_r;
fragColor.b = fg_color.z * y * bar_r;
}