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);
}