function setupAttributes()

in src/Layer/NativeMetaballs/NativeMetaballs.js [286:307]


      function setupAttributes() {
        time += 0.01;
        var count = config.metaballs.length;

        for (var i = 0; i < count; i++) {
          var metaball = config.metaballs[i];
          metaball.x = (displayWidth * metaball.offset.x) + (metaball.center.x * scale);
          metaball.y = (displayHeight * metaball.offset.y) + (metaball.center.y * scale);
          metaball.targRadius = metaball.radius * scale + ((Math.cos((metaball.t + time) * metaball.speed) * 5) + (Math.sin((metaball.t + time) * metaball.speed) * 5));// * animationProperties.positionMultiplier;
        }

        dataToSendToGPU = new Float32Array(3 * count);
        for (var i = 0; i < count; i++) {
          var baseIndex = 3 * i;
          var mb = metaballsObjects[i];

          dataToSendToGPU[baseIndex + 0] = mb.x;
          dataToSendToGPU[baseIndex + 1] = mb.y;
          dataToSendToGPU[baseIndex + 2] = mb.radius;
        }
        gl.uniform3fv(metaballsObjectsHandle, dataToSendToGPU);
      }