displacement linoleum( float distance = 1; float Ka = 1; float Kd = .5; float Ks = .5; float roughness = .1; color specularcolor = 1; ) { /* float offset; float offsetx; float offsety; offsetx = 0.05*(sin(3*s)*sin(2*s)*cos(5*s)+cos(29*s+1)+cos(31*s)); offsetx = offsetx+0.05*(cos(0.6*s)+sin(47*s)+sin(37*s+1)); offsetx = offsetx+0.05*(cos(19*s+0.2)+sin(23*s+0.8)); offsety = 0.05*(sin(0.2*t)*sin(31*t)*cos(29*t)+cos(57*t+1)+cos(7*t)); offsety = offsety+0.05*(cos(17*t)+sin(43*t)+sin(5*t+1)); offsety = offsety+0.05*(cos(3*t+0.2)+sin(2*t+0.8)); offset = (offsetx+offsety)/2; P = P + (offset+0.05)*distance*normalize(N); N = calculatenormal(P); normal Nf = faceforward (normalize(N),I); Oi = Os; Ci = Os * ( Cs * (Ka*ambient() + Kd*diffuse(Nf)) + specularcolor * Ks*specular(Nf,-normalize(I),roughness)); */ Oi = Os; Ci = Oi*(Cs*(Kd*diffuse(faceforward(normalize(N),I)) + Ka*ambient()) + Ks*phong(faceforward(normalize(N),I),-normalize(I),distance)); // Ks*specular(faceforward(normalize(N),I),-normalize(I),distance)); }