import processing.opengl.*; float ang; int maxCubes = 150; int maxPerimeter = 300; int minPerimeter = 50; int maxCubeSize = 25; Cube[]cubes = new Cube[maxCubes]; void setup() { size(1024, 768, OPENGL); background(0); noStroke(); int perimeter; for(int i = 0; i< cubes.length; i++){ perimeter = random(0,100)>75 ? minPerimeter : maxPerimeter; cubes[i] = new Cube(int(random(0,maxCubeSize)), int(random(0,maxCubeSize)), int(random(0,maxCubeSize)), int(random(-perimeter,perimeter)), int(random(-perimeter,perimeter)), int(random(-perimeter,perimeter))); } } void draw() { background(0); fill(200); ambientLight(256, 256, 256); translate(width/2, height/2+50,0); pointLight(50, 0, 0, 0, -500, 0); pointLight(256, 0, 0, 0, 0, 0); rotateY(radians(ang)); for(int i = 0; i < cubes.length; i++){ cubes[i].drawCube(); } ang++; }