surface pianotexmap( float Ka=1, Kd=1, Ks=0, roughness=.25; color specularcolor = 1) { string texname ="newkey.tif" uniform float ssize, tsize; varying vector Nf, NI; varying point PP,O,X,Y,Z,NN; varying color ctx; Nf = faceforward( normalize(N), I); ctx = float texture(texname [0]); Ci = (Ka*ambient() + Kd*diffuse(Nf)) * ctx; if (Ks != 0.0) { NI = normalize(-I); Ci += Ks*specularcolor*specular(Nf,NI,roughness); } Oi = Os; Ci = Ci * Oi; }