surface alienskin( float Ks=.6, Kd=0.2, Ka=.8, Kr=.5, roughness=.1; color specularcolor=1 ) { float Kl; point Nf, V; color highlight; Nf = faceforward( normalize(N), I ); V = -normalize(I); highlight = specularcolor*Ks*specular(Nf,V,roughness); Ci = Cs * (Ka * ambient() + Kd * diffuse(Nf)) + highlight; Kl = (comp(Ci,0) + comp(Ci,1) + comp(Ci,2))/3; Oi = Kl + (1-Cs); }