let x=0;
let y=0;
let a=0;
let b=0;

function setup() {
  createCanvas(800, 450);
    background(244);

x=width/2;
  y=height-10;
   a=0;
 b=height-10;

}

function draw() {

  //image(capture, 0, 0, 800, 450);
         //tint(random(255,0));
  blendMode(LIGHTEST);// Tint blue

 push();
  blendMode(OVERLAY);
  // Jiggling randomly on the horizontal axis
  x = x + random(-10, 10);
  // Moving up at a constant speed
  y = y + random(-3, 2);

  fill(0,0,0,130);
 strokeWeight(random(0));
    ellipse(x, y, random(10,20), random(10,20));
      

    ellipse(x+200, y, random(20,20), random(20,20));

    ellipse(x/2,y, random(5,10), random(5,10));
   ellipse(x/1.5, y, random(20,20), random(20,20));

    ellipse(x/5,y, random(5,10), random(5,10));
  
      ellipse(x/3, y, random(1,2), random(1,2));
     ellipse(x/4, y, random(2,2),random(3,2));
    blendMode(NORMAL);
fill(255);
      ellipse(x, y+5, random(1,1), random(1,1));
    ellipse(x-10, y+2, random(1,1), random(1,1));
   ellipse(x-10, y-3, random(1,1), random(1,1));
  ellipse(x-5, y-5, random(1,1), random(1,1));
  ellipse(x, y+5, random(1,1), random(1,1));
    ellipse(x-5, y+1, random(1,1), random(1,1));
   ellipse(x-5, y-4, random(1,1), random(1,1));
  ellipse(x-1, y-3, random(1,1), random(1,1));
  ellipse(x, y+5, random(1,1), random(1,1));
    ellipse(x-6, y+1, random(1,1), random(1,1));
   ellipse(x-7, y-2, random(1,1), random(1,1));
  ellipse(x-1, y-7, random(1,1), random(1,1));
  ellipse(x, y+2, random(1,1), random(1,1));
    ellipse(x-7, y+2, random(1,1), random(1,1));
   ellipse(x-4, y-1, random(1,1), random(1,1));
  ellipse(x-0, y-2, random(1,1), random(1,1));

  
  // Reset to the bottom
  if (y < 0) {
    y = height / random(1, 1.3);
    x = width / random(1, 2);
  }
  if (x > 750) {
    y = height / random(1, 1.2);
    x = width / random(1, 2);
  }
  if (x < 0) {
    y = height / random(1, 1.1);
    x = width / random(1, 2);
  }
  pop();
  
  push();
  blendMode(NORMAL);
  // Jiggling randomly on the horizontal axis
  a = a + random(-3, 6);
  // Moving up at a constant speed
  b = b + random(-20, 20);

  fill(244,244,244,random(0,45));
 strokeWeight(random(0));
    ellipse(a, b, random(30,35), random(30,35));
    ellipse(a+random(-10,10), b+random(-10,10), random(50,55), random(50,55));

    ellipse(a, b, random(5,10), random(5,10));
  
      ellipse(a-20, b, random(1,2), random(1,2));
     ellipse(a+0, b+10, random(2,2),random(3,2));
  //fill(0);

  
  // Reset to the bottom
  if (b < -100) {
    
    b = height / random(1,9);
    a= 0;
  }
  if (a > 900) {
    b = height / random(1, 5);
    a = 0;
  }
  if (a < -100) {
    b = height / random(1, 4);
    a = 0;
  }
  pop();


}

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.8.0/p5.min.js