int pnum = 40; float gKmin = 0.9; float gKmax = 0.995; float gV = 0.5; float gTrnd = 5; particleClass[] pList = new particleClass[pnum]; AdditiveCanvasClass aCanvas = new AdditiveCanvasClass(); void setup(){ size(640,360); background(0); noStroke(); fill(0,0,0,0.5); for(int i=0; i 1 && _x < width-1 && _y > 1 && _y < height-1){ aCanvas.addColor( int(_x-1), int(_y-1) , _col2); aCanvas.addColor( int(_x ), int(_y-1) , _col2); aCanvas.addColor( int(_x+1), int(_y-1) , _col2); aCanvas.addColor( int(_x-1), int(_y) , _col2); aCanvas.addColor( int(_x), int(_y) , _col); aCanvas.addColor( int(_x+1), int(_y) , _col2); aCanvas.addColor( int(_x-1), int(_y+1) , _col2); aCanvas.addColor( int(_x ), int(_y+1) , _col2); aCanvas.addColor( int(_x+1), int(_y+1) , _col2); } } } // //指定したピクセルに色を加算する class AdditiveCanvasClass{ AdditiveCanvasClass(){ } void addColor(int x, int y, color col){ int pos; //position float colR, colG, colB; color canvCol; // canvasColor color c; float canvR, canvG, canvB; //canvas color Red, Green, Blue pos = y * width + x; canvCol = pixels[pos]; canvR = canvCol >> 16 &0xff; canvG = canvCol >> 8 &0xff; canvB = canvCol &0xff; colR = col >> 16 &0xff; colB = col >> 8 &0xff; colG = col &0xff; c = color(canvR+colR, canvG+colG, canvB+colB); pixels[pos]= c; } }