SHADERS.md
Write your own shaders for cava!
cava can use SDL/OpenGL to render custom glsl shaders.
The shader files are loaded from the folder $HOME/.config/cava/shaders
under [output] set method to 'sdl_glsl'
use the config options vertex_shader and fragment_shader to select file.
look in the bar_spectrum.frag shader for how the shaders interact with cava.
the custom shaders will use some of the same config parameters as the other output modes, like number of bars.
feel free to commit your own shaders (or improvements to the sdl_glsl output mode) and create pull request.
To add a shader to the cava repo do the following:
$HOME/.config/cava/shaders folder and load it via the config file.output/shaders folder in the cava source codeconfig.c:
NUMBER_OF_SHADERS defineINCTXT, IDR lists as well as the default_shader_data and the default_shader_name arrays at the top of the config.c. The orders of the arrays is important! There are two default_shader_data arrays one for windows and one for linux.cava_win/cava/cava.rcThe shader will then be compiled into the bionary and written to the $HOME/.config/cava/shaders folder on runtime (if it is not already there).