1 // Fragment shader code for metaball
3 precision mediump float;
4 varying vec2 vTexCoord;
5 uniform vec2 uPositionMetaball;
6 uniform vec2 uPositionVar;
7 uniform vec2 uGravityVector;
9 uniform float uRadiusVar;
13 vec2 adjustedCoords = vTexCoord * 2.0 - 1.0;
14 vec2 finalMetaballPosition = uPositionMetaball + uGravityVector + uPositionVar;
16 float finalRadius = uRadius + uRadiusVar;
17 vec2 distanceVec = adjustedCoords - finalMetaballPosition;
18 float result = dot(distanceVec, distanceVec);
19 float color = inversesqrt(result) * finalRadius;
21 gl_FragColor = vec4(color,color,color,1.0);