// Lava // Dave Bollinger, April 2006 // http://www.davebollinger.com // for Processing 0109 beta // LAVA lava; color [] colors; void setup() { size(300,300,P3D); framerate(10); loadPixels(); PImage pal = loadImage("palette.jpg"); colors = new color[256]; for (int i=0; i<256; i++) colors[i] = pal.get(i,0); lava = new LAVA(width,height); lava.randomize(); } void draw() { lava.randomness(); lava.update(); lava.render(); } class LAVA { int cols, rows; int[][] cells; int ncolors, masker, nrandom; LAVA(int c, int r) { cols = c; rows = r; cells = new int[rows][cols]; ncolors = 256; masker = ncolors-1; nrandom = int(sqrt(ncolors)); } void randomize() { for (int r=0; r>= 2; sum--; cells[ri][ci] = sum & masker; cm1=c0; c0=cp1; cp1++; } r0=rp1; rp1++; } } void render() { int idx = 0; for (int r=0; r