// Videos from www.pexels.com
import processing.video.*;
Movie v1, v2;
PGraphics mask;
void setup() {
size(960, 540);
blendMode(MULTIPLY);
v1 = new Movie(this, "vid1.mp4");
v1.loop();
v2 = new Movie(this, "vid2.mp4");
v2.loop();
mask = createGraphics(width, height);
while (!v1.available() || !v2.available()) {
}
}
void draw() {
if (v1.available()) {
v1.read();
}
if (v2.available()) {
v2.read();
}
mask.beginDraw();
mask.blendMode(DIFFERENCE);
mask.background(255); // Peindre le fond d'une couleur unie
mask.fill(255); // Choisir une couleur de remplissage
mask.circle(mouseX, mouseY, 600 + 300*sin(millis()/350.0)); // Dessiner un cercle
mask.circle(mouseX, mouseY, 600 + 300*sin(millis()/330.0)); // Dessiner un cercle
mask.circle(mouseX, mouseY, 600 + 300*sin(millis()/310.0)); // Dessiner un cercle
mask.circle(mouseX, mouseY, 600 + 300*sin(millis()/290.0)); // Dessiner un cercle
mask.circle(mouseX, mouseY, 600 + 300*sin(millis()/270.0)); // Dessiner un cercle
mask.endDraw();
mask.loadPixels();
loadPixels();
for (int i=0; i<width*height; i++) {
if (mask.pixels[i] == 0xFF000000) {
pixels[i] = v2.pixels[i];
} else {
pixels[i] = v1.pixels[i];
}
}
updatePixels();
}