PImage img; void setup() { size(500, 500); img = createImage(500, 500, RGB); for (int i = 0; i < img.pixels.length; i++) { img.pixels[i] = color(0255,255,255); } } void updateGraphics(){ if (frameCount % 10 != 0) return; int cr = int(random(255)); int cg = int(random(255)); int cb = int(random(255)); for (int i = 0; i < img.pixels.length/2; i++) { img.pixels[i] = color(cr, cg, 127); } for (int i = img.pixels.length/2; i < img.pixels.length; i++) { img.pixels[i] = color(127, cg, cb); } } void draw(){ updateGraphics(); loadPixels(); for (int x = 0; x < img.width; x++) { for (int y = 0; y < img.height; y++ ) { int loc = x + y*img.width; float r = red (img.pixels[loc]); float g = green (img.pixels[loc]); float b = blue (img.pixels[loc]); float distance = dist(x,y,mouseX,mouseY); float adjustBrightness = (100-distance)/100; r *= adjustBrightness; g *= adjustBrightness; b *= adjustBrightness; r = constrain(r,0,255); g = constrain(g,0,255); b = constrain(b,0,255); color c = color(r,g,b); pixels[loc] = c; } } updatePixels(); }