/* funkyglass.sl - randomly colored "glass" (transparent, but no refl/refr).
 * (c) Copyright 1994, Larry Gritz
 *
 * The RenderMan (R) Interface Procedures and RIB Protocol are:
 *     Copyright 1988, 1989, Pixar.  All rights reserved.
 * RenderMan (R) is a registered trademark of Pixar.
 */



surface
funkyglass (float Ka = .2;
	    float Kd = .2;
	    float Ks = 1;
	    float roughness = .08;
	    color specularcolor = 1;)
{
  point PP;
  normal Nf;
  vector V;
  color Ct, Ot;

  V = normalize(I);
  Nf = faceforward (normalize(N),V);
  PP = transform ("shader", P);
  Ct = 2 * (color noise (PP) - .5) + .5;
  Ot = (comp(Ct,0) + comp(Ct,1) + comp(Ct,2))/3 + (1-Ct);

  Oi = Ot * (0.75 - 0.5*abs(V.Nf));
  Ci = ( Ct * (Ka*ambient() + Kd*diffuse(Nf)) +
	      specularcolor * Ks*specular(Nf,-V,roughness));
}

