let cp = ["#04151F", "#183A37", "#EFD6AC","#C44900", "#432534"];
w = min(windowWidth, windowHeight);
for (let i = 0; i < inum; i++) {
pg[i] = createGraphics(iw, iw);
let c = color(cp[i % cp.length]);
let xn = random(-g / 2, g / 2);
for (let y = -g * 2; y <= iw + g * 2; y += g / 40) {
for (let x = -g * 2; x <= iw + g * 2; x += g) {
let adx = map(noise(x, xn), 0, 1, -g / 2, g / 2);
let ady = map(noise(x, yn), 0, 1, -g, g);
pg[i].curveVertex(x + adx, y + ady);
msk[i] = createGraphics(iw, iw);
msk[i].angleMode(DEGREES);
let sv = int(random(1, 6)) * 4;
let seed = random(0.01, 0.1);
for (let sx = sg / 2; sx <= iw; sx += sg) {
for (let sy = sg / 2; sy <= iw; sy += sg) {
msk[i].translate(sx, sy);
let rr = random([sg / 2, sg + 1]);
msk[i].rect(0, 0, rr, rr);
(dis[i] = pg[i].get()).mask(msk[i]);
for (let j = 0; j < num; j++) {
translate(random(-w / 4, w + w / 4), random(-w / 4, w + w / 4));
if (int(random(2)) == 0) {
image(dis[int(random(inum))], 0, 0, iw, iw);
image(pg[int(random(inum))], 0, 0, iw, iw);
rakkan(rw/2.5, w-rw/1.25, rw, 0);
function rakkan(posx, posy, r, csw) {
rect(0, 0, r / 1.4, r * 1.5, r / 5);
for (let i = 0; i < 10; i++) {
let z = random(lr / 20, lr / 2);
vertex(nr / 2 + random(-z, z), -nr / 2 + random(-z, z));
vertex(random(-z, z), -nr / 2 + random(-z, z));
vertex(-nr / 2 + random(-z, z), random(-z, z));
vertex(random(-z, z), nr / 2 + random(-z, z));
vertex(nr / 2 + random(-z, z), nr / 2 + random(-z, z));
vertex(-nr / 2 + random(-z, z), random(-z, z));
vertex(nr / 2 + random(-z, z), random(-z, z));
vertex(nr / 2 + random(-z, z), -nr / 2 + random(-z, z));
vertex(random(-z, z), -nr / 2 + random(-z, z));
vertex(-nr / 2 + random(-z, z), random(-z, z));
vertex(random(-z, z), nr / 2 + random(-z, z));
vertex(nr / 2 + random(-z, z), nr / 2 + random(-z, z));
vertex(nr / 2 + random(-z, z), -nr / 2 + random(-z, z));
vertex(-nr / 2 + random(-z, z), nr / 2 + random(-z, z));
vertex(-nr / 2 + random(-z, z), -nr / 2 + random(-z, z));
vertex(-nr / 2 + random(-z, z), nr / 2 + random(-z, z));
vertex(nr / 2 + random(-z, z), -nr / 2 + random(-z, z));
vertex(nr / 2 + random(-z, z), nr / 2 + random(-z, z));
vertex(-nr / 2 + random(-z, z), random(-z, z));
vertex(nr / 2 + random(-z, z), random(-z, z));
vertex(nr / 2 + random(-z, z), -nr / 2 + random(-z, z));
vertex(-nr / 2 + random(-z, z), nr / 2 + random(-z, z));