Impostazione delle modalità di fusione
// 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 ); ////////////////////////////////////////
}
blendMode( DIFFERENCE );
Imposta il tipo di fusione dei colori dei pixel da disegnare con quelli dei pixel del canvas. Nel caso specifico i nuovi colori verranno sottratti da quelli del canvas.
blendMode( BLEND );
Ripristina l'impostazione di fusione di default, quella in cui i pixel vengono interpolati in base al valore del canale alfa.