ryco117 / fractal_sugar

An experimental audio visualizer combining fractals and particle simulations.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

fractal_sugar

fractal_sugar

About the project

fractal_sugar is an experimental audio visualizer combining fractals and particle simulations. It is cross-platform, written in Rust, and uses the library Vulkano to interact with the Vulkan API. 3D fractals are rendered using the technique of ray-marching. Particle physics are simulated using compute shaders. The open source library CPAL is used to retrieve the audio stream and a fast Fourier transform is applied on the signal using RustFFT.

Lineage of previous projects

fractal_sugar is a merger and re-implementation of several of my previous OpenGL/Vulkan audio visualizers written in F#:

Demo

deadmau5 Demo

deadmau5 Demo

Controls

Key Action
App-Window -
F11 Toggle window fullscreen
ESC If fullscreen, then enter windowed mode. Else, close the application
ENTER Only Windows release builds: Toggle the visibility of the output command prompt
Overlay-Window -
F1 Toggle visibility of this Help window
C Toggle visibility of the App Config window
Audio -
R Toggle the application's responsiveness to system audio
Visuals -
SPACE Toggle kaleidoscope effect on fractals
J Toggle 'jello' effect on particles (i.e., the fixing of particles to a position with spring tension)
P Toggle the rendering and updating of particles
H Toggles whether to hide stationary particles
CAPS Toggle negative-color effect for particles
D Toggle between 2D and 3D projections of the particles
TAB Cycle through particle color schemes. Requires that all overlay windows are closed
0 Select the 'empty' fractal
1-6 Select the fractal corresponding to the respective key
MOUSE-BTTN Holding the primary or secondary mouse button applies a repulsive or attractive force, respectively, at the cursor's position
MOUSE-SCRL Scrolling up or down changes the strength of the cursor's applied force

About

An experimental audio visualizer combining fractals and particle simulations.

License:GNU General Public License v3.0


Languages

Language:Rust 89.0%Language:GLSL 11.0%