/*Wooksang Chang */ #include "rmannotes.sl" surface bump_lines( float Ks=.2, Kd=.5, Ka=0.1, roughness=.1, Km=0.03; color specularcolor=1; float f = 6; float max = 9;) { normal Nf; vector V; point newP; color black = color(1,1,1); color yellow = color(0.602,0.521,0.310); color surface_color,layer_color; float layer_opac=0; float turb=0,tt,i; /* layer 1 - red+black- */ tt = repeat(t,26); surface_color = black; layer_color = yellow; layer_opac = step(0.5,tt); i=smoothstep(0.45,0.65,tt); surface_color = blend(surface_color,layer_color,layer_opac); /* layer #2 */ layer_color = color texture("pipe_color.tx",s,t); layer_opac = float texture("pipe_opac.tx",s,t); surface_color = blend(surface_color,layer_color,layer_opac); Nf = faceforward( normalize(N), I ); V = -normalize(I); /*bump*/ newP = calculatenormal(P+Km*i*normalize(N)); Nf = faceforward(normalize(newP),I); Oi = Os; Ci = surface_color*(Ka*ambient()+(1-turb)*Kd*diffuse(Nf)) + specularcolor * Ks * specular(Nf,V,roughness); }