## GLSL Blob

February 21st, 2009

My first GLSL -based animation. The blob is made of 3 glutWireSpheres deformed by applying a vertex shader. Deformation is affected by the music and mouse coordinates. In the code snippet below, fft is a value taken from ofSoundGetSpectrum and mult is the pair of mouse coordinates (x, y).

#version 120 uniform float fft; uniform vec2 mult; uniform vec3 col; varying vec4 v; void main() { v = vec4(gl_Vertex); vec4 v2 = v; v.x += cos( v2.z * mult.x ) * fft; v.y += sin( v2.x * mult.y ) * fft; v.z += cos( v2.y * mult.x ) * fft; gl_Position = gl_ModelViewProjectionMatrix * v; }

Check the high-res images at Flickr .

Made with OpenFrameworks .

Music: “Geek Down” by J Dilla.