Ceci est une ancienne révision du document !
Ateliers Processing de l'OA, deuxième année
Sketch 01: Vidéos masquées
// 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(); }