var seed = Math.random() * 1000;
let color1, color2, alpha1, alpha2;
let colorGrass1, colorGrass2;
let color_bg = "3f4442-5c5358-202020-161426".split("-").map((a) => "#" + a);
theShader = new p5.Shader(this.renderer, vert, frag)
ver = random([1, 2, 3, 4, 5, 6]);
margin = min(windowWidth, windowHeight) / 100;
webGLCanvas = createGraphics(width, height, WEBGL);
waveGraphics = createGraphics(width, height);
bgGraphics = createGraphics(width, height);
originalGraphics = createGraphics(width, height);
colorMode(RGB, 255, 255, 255, 100);
parNum = int(random(4, 2)) * int(random(10, 20) / 1);
parNum_wave = int(random(4, 2)) * int(random(10, 20) * 20);
for (let j = 0; j < 1; j++) {
for (let i = 0; i < int(parNum / 2 * 2); i++) {
particles.push(new Particle(random(-width * 0.1, width * 1.1), random(-height * 0.1, height * 1.1), ver));
for (let i = 0; i < int(parNum / 4); i++) {
particles_2.push(new Particle_2(random(-width * 0.1, width * 1.1), random(-height * 0.1, height * 1.1), ver));
for (let i = 0; i < parNum_wave; i++) {
let filter1 = new makeFilter();
let bgcolor = random(color_bg)
bgGraphics.background(bgcolor);
color_ver = random([1, 2, 3, 4, 5, 6, 7, 8, 9]);
webGLCanvas.shader(theShader);
theShader.setUniform('u_resolution', [width / width, height / height]);
theShader.setUniform('u_time', millis() / 1000);
theShader.setUniform('u_mouse', [mouseX / width, mouseY / height]);
theShader.setUniform('u_tex', bgGraphics);
webGLCanvas.rect(-width / 2, -height / 2, width, height);
if (int(seed) % 2 == 0) {
for (let i = particles.length - 1; i > 0; i--) {
if (i < particles.length) {
particles[i].show(bgGraphics);
if (particles[i].finished()) {
particles.push(new Particle(random(-width * 0.1, width * 1.1), random(-height * 0.1, height * 1.1), ver));
image(webGLCanvas, 0, 0);
image(overAllTexture, 0, 0);
for (let i = particles_2.length - 1; i > 0; i--) {
if (i < particles_2.length) {
particles_2[i].show(originalGraphics);
if (particles_2[i].finished()) {
particles_2.splice(i, 1);
image(originalGraphics, 0, 0);
strokeWeight(random(0.1, 0.05));
drawingContext.setLineDash([1, 2, 1, 3]);
image(overAllTexture, 0, 0);
drawingContext.setLineDash([1, 1, 1, 1]);
rect(0, 0, width, height);
if (frameCount - lapse > 15){