/*A building with a cross footprint.*/ FLOORS = 90; SIZE = 1; r = new Random(0); //textures win = new Texture[3]; for (i=0; i<3; i++) { win[i] = new UniformTexture(); win[i].shininess = 1.0f; win[i].specularity = .35f; } win[0].diffuseColor.setRGB(96.0/255, 97.0/255, 91.0/255); win[1].diffuseColor.setRGB(57.5/255, 58.5/255, 57.5/255); win[2].diffuseColor.setRGB(19.0/255, 20.0/255, 24.0/255); conc = new UniformTexture(); conc.diffuseColor.setRGB(0.9, 0.8, 0.5); //pillars box = new Cube(SIZE, FLOORS*SIZE, SIZE); box.setTexture(conc, conc.getDefaultMapping(box)); for (i=5; i<18; i++) { x = i*2*SIZE; z = 10; p = new Vec3(x, FLOORS*SIZE/2.0, z); script.addObject(box, new CoordinateSystem(p, 0, 0, 0)); p = new Vec3(-x, FLOORS*SIZE/2.0, z); script.addObject(box, new CoordinateSystem(p, 0, 0, 0)); p = new Vec3(x, FLOORS*SIZE/2.0, -z); script.addObject(box, new CoordinateSystem(p, 0, 0, 0)); p = new Vec3(-x, FLOORS*SIZE/2.0, -z); script.addObject(box, new CoordinateSystem(p, 0, 0, 0)); p = new Vec3(z, FLOORS*SIZE/2.0, x); script.addObject(box, new CoordinateSystem(p, 0, 0, 0)); p = new Vec3(-z, FLOORS*SIZE/2.0, x); script.addObject(box, new CoordinateSystem(p, 0, 0, 0)); p = new Vec3(z, FLOORS*SIZE/2.0, -x); script.addObject(box, new CoordinateSystem(p, 0, 0, 0)); p = new Vec3(-z, FLOORS*SIZE/2.0, -x); script.addObject(box, new CoordinateSystem(p, 0, 0, 0)); } for (i=-5; i<=5; i++) { x = i*2*SIZE; z = 34; p = new Vec3(x, FLOORS*SIZE/2.0, z); script.addObject(box, new CoordinateSystem(p, 0, 0, 0)); p = new Vec3(x, FLOORS*SIZE/2.0, -z); script.addObject(box, new CoordinateSystem(p, 0, 0, 0)); p = new Vec3(z, FLOORS*SIZE/2.0, x); script.addObject(box, new CoordinateSystem(p, 0, 0, 0)); p = new Vec3(-z, FLOORS*SIZE/2.0, x); script.addObject(box, new CoordinateSystem(p, 0, 0, 0)); } //windows for (j=0; j