public class Material { double ambient[] = {.1,.1,.1}; double diffuse[] = {.2,.2,.2}; double specular[] = {.4,.4,.4,10}; double noise[] = new double[20]; int nBands = 0; Material setAmbient(double r, double g, double b) { ambient[0] = r; ambient[1] = g; ambient[2] = b; return this; } Material setDiffuse(double r, double g, double b) { diffuse[0] = r; diffuse[1] = g; diffuse[2] = b; return this; } Material setSpecular(double r, double g, double b, double p) { specular[0] = r; specular[1] = g; specular[2] = b; specular[3] = p; return this; } Material addNoise(double freq, double ampl) { int i = 2 * nBands++; noise[i ] = freq * 256; noise[i+1] = ampl / 256; return this; } }