mirror of
https://github.com/processing/processing4.git
synced 2026-01-29 19:31:16 +01:00
35 lines
724 B
Plaintext
35 lines
724 B
Plaintext
/**
|
|
* Image Mask
|
|
*
|
|
* Move the mouse to reveal the image through the dynamic mask.
|
|
*/
|
|
|
|
PShader maskShader;
|
|
PImage srcImage;
|
|
PGraphics maskImage;
|
|
|
|
void setup() {
|
|
size(640, 360, P2D);
|
|
srcImage = loadImage("leaves.jpg");
|
|
maskImage = createGraphics(srcImage.width, srcImage.height, P2D);
|
|
maskImage.noSmooth();
|
|
maskShader = loadShader("mask.glsl");
|
|
maskShader.set("mask", maskImage);
|
|
background(255);
|
|
}
|
|
|
|
void draw() {
|
|
maskImage.beginDraw();
|
|
maskImage.background(0);
|
|
if (mouseX != 0 && mouseY != 0) {
|
|
maskImage.noStroke();
|
|
maskImage.fill(255, 0, 0);
|
|
maskImage.ellipse(mouseX, mouseY, 50, 50);
|
|
}
|
|
maskImage.endDraw();
|
|
|
|
shader(maskShader);
|
|
image(srcImage, 0, 0, width, height);
|
|
}
|
|
|