#include "rmannotes.sl" surface greeny(float Ka = 1, Kd = 0.5, Ks = 0.5, roughness = 0.1; color specularcolor = 1) { color paper, ink; float opac; float fuzz = 0.3; float tile_s, tile_t; float line, circleone, circletwo, circlethree, circlefour; float line2, circle5, circle6, circle7, circle8, circle9; point Nf, V; Nf = faceforward(normalize(N), I); V = normalize(-I); paper = color(.462, .933, 0); Oi = 1; tile_s = repeat(s, 10); tile_t = repeat(t, 10); /* blue fuzzy line down the middle */ line = pulse(tile_s, 0.2, 0.8, fuzz); ink = color(.067, .652, .674); opac = line; paper = mix(paper, ink, opac); /* random circle stuff */ circleone = pulse(distance((tile_s, tile_t, 0), (0.3, 0.3, 0)), 0.00, 0.2, fuzz = 0.02); circletwo = pulse(distance((tile_s, tile_t, 0), (0.45, 0.45, 0)), 0.00, 0.2, fuzz = 0.02); ink = color(0, .545, .270); opac = difference(circleone, circletwo); opac *= 0.5; paper = mix(paper, ink, opac); circlethree = pulse(distance((tile_s, tile_t, 0), (0.7, 0.7, 0)), 0.00, 0.2, fuzz = 0.02); ink = color(.462, .933, .270); opac = difference(circlethree, line); paper = mix(paper, ink, opac); circlefour = pulse(distance((tile_s, tile_t, 0), (0.5, 0.5, 0)), 0.2, 0.3, fuzz = 0.02); ink = color (0, 1, .519); opac = difference (circletwo, circlefour); opac *= 0.5; paper = mix(paper, ink, opac); circle5 = pulse(distance((tile_s, tile_t, 0), (0.3, 0.7, 0)), 0.0, 0.2, fuzz = 0.02); circle6 = pulse(distance((tile_s, tile_t, 0), (0.7, 0.3, 0)), 0.0, 0.2, fuzz = 0.02); circle7 = pulse(distance((tile_s, tile_t, 0), (0.6, 0.9, 0)), 0.0, 0.2, fuzz = 0.02); circle8 = pulse(distance((tile_s, tile_t, 0), (0.9, 0.6, 0)), 0.0, 0.2, fuzz = 0.02); circle9 = pulse(distance((tile_s, tile_t, 0), (0.8, 0.8, 0)), 0.0, 0.2, fuzz = 0.02); line = pulse(tile_t, 0.45, 0.55, fuzz); rotate2d(tile_s, 2.3*tile_t, 45, 0.17, 0.17, tile_s, tile_t); line = pulse(tile_t, 0.45, 0.55, fuzz); ink = color(0, .237, .437); opac = difference(line, circle5); opac *= 0.4; paper = mix(paper, ink, opac); ink = color(.63, .97, 0); opac = union(circle5, circle6); opac *= 0.4; paper = mix(paper, ink, opac); tile_s = repeat(s, 10); tile_t = repeat(t, 10); ink = color(0, .63, .733); opac = intersection(circle7, circle9); opac *= 0.35; paper = mix(paper, ink, opac); Ci = Oi * (paper * (Ka * ambient() + Kd * diffuse(Nf)) + specularcolor * Ks * specular(Nf, V, roughness)); }