This project was inspired by the Magnetosphere Visualizer, which was absorbed into the current version of iTunes. My version consists of a number of sphere groups, modeled to resemble molecules, freely floating against a nebula-like background. The speed and size of the spheres, as well as animation of the nebula, are influenced by the volume of the audio file given to the program. The FMOD library is used for processing the audio file.
The spheres are drawn using bloom shading. For each texel, a gaussian filter produces a weighted average of the texels around it. This process is repeated with a series of downsampled framebuffer objects. The downsampled FBOs are applied back onto the original scene to achieve a bloom effect.
The nebula background is generated using a simplex noise algorithm. Simplex noise was designed by Ken Perlin, who won the Academy Award for Technical Achievement for designing its predecessor, Perlin noise. This algorithm is used to produce natural-looking animated textures.
The spheres are modeled using hierarchical modeling.
W, A, S, D - shift camera up, down, left, or right.
O - toggle the orbiting movement of the smaller colored spheres around the larger white spheres.
Z - toggle among 4 levels of blur. ***** NOTE: In the README it says B. That is wrong. It's Z. *****
C - toggle
N - toggle the nebula background.
M - change the color of the nebula (4 options).
Up, Down - change the animation speed of the nebula.