
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;
   }
}


