Music Visualizer
Modular and modern stand-alone music visualization engine. It is inspired by WinAmp Advanced Visualization Studio (AVS) but tries to use power of modern GPUs and fragment shaders from ShaderToy.com
- Similarily to AVS this is rather engine to create user-made visualization by combination of independent modules
- There are two types of modules
- CPU based vertex-renderes which define where OpenGL primitives (dots,lines,trinagnes) are rendered.
- This is used e.g. to render spectrum or particle systems etc.
- GPU/GLSL fragment shaders from ShaderToy which stack multiple render passes
- These can render per-pixel RayTraced objects (like 2D/3D fractal Julia Set etc.)
- It also provide texture deformation, kaleidoscope-effects etc.
- It can even implement partial-differential equation solver to simulate effects like Fluid, Fire, Turbulence, Waves, Diffusion-Reaction system
- The input for these renderers and shaders are mostly power-spectrum of the sound-waveform which are obtained by means of fast fourier transform (FFT) from the .mp3 stream
- The visualization should be created as simple scripts which determine how to combine (i.e. stack-on top of each other) various CPU Renderes and GPU shaders (which replace AVS visual editor)
- Beside these high-level scripts Fine (low-level) control is provided by user defined GLSL framgnet/vertex shaders shaders and small C/C++ sniplets which define behaviour of CPU renderers
Dependencies
- SDL2
- SDL2-mixer
- GLEW
- OpenGL 4+
Compilation
with cmake + g++ installed
mkdir Build
cd Build
cmake ..
make
Screenshots