surface lowell_spline(float Kd = 1, linepoint = 0.3, lineramp = 0.01; color basecol = (0,0,0), midcol1 = (1,0,0), midcol2 = (0,1,0), midcol3 = (0,0,1), midcol4 = (0,1,0), midcol5 = (1,1,1), midcol6 = (0,0,0), topcol = (1,0,0), white = (1,1,1)) { color surfcolor = 1; normal n = normalize(N); normal nf = faceforward(n, I); float humpdis = 0; if(displacement("hump", humpdis) == 1) { surfcolor = spline(humpdis,white,basecol,midcol1,midcol2,midcol3,midcol4,midcol5,midcol6,topcol,white); } Oi = Os; color diffusecolor = Kd * diffuse(nf); Ci = Oi * Cs * surfcolor * diffusecolor; }