/* */ surface color_texmap(string texname = ""; float Ka=1, Kd=1, Ks=0, roughness=0.25; color specularcolor=1) { 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 = color texture(texname); 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; }