Applicazione di filtri al canvas

// height=300 lines=auto
let vertici = [];  // vertici del poligono

function setup() {
    createCanvas(670,300);
    // crea 20 vertici a caso per il poligono
    for (let i=0; i<20; ++i) {
        vertici[i] = createVector(random(width),random(height));
    }
}

function draw() {
    background( 200, 4 );

    // trasformazione geometrica
    shearX( sin(frameCount/40) / 3 );

    // impostazioni di fusione
    blendMode( DIFFERENCE );

    // disegna il poligono
    beginShape();
    for (let i=0; i<vertici.length; ++i) {
        // trasformazione dei vertici
        let vert = vertici[i].copy();
        vert.add( random(-5,5), random(-5,5) );
        vertex( vert.x, vert.y );
    }
    endShape(CLOSE);

    blendMode( BLEND );

    // MODIFICA DEI COLORI DEI PIXEL DEL CANVAS /////////////////
    filter( DILATE );
}
filter( DILATE );

Modifica i pixel del canvas in base ai loro valori attuali e (a volte) in base a quelli dei pixel adiacenti. Con DILATE, i pixel tendono ad assumere il colore dei pixel adiacenti più luminosi.