#include "rmannotes.sl" displacement crud(float dots = 3,amount = 100, thickness = 6, Km = .05) { float magnitude; float ss,tt; float d, fuzz =.5; float disk; float radius; point center; magnitude = 0; rotate2d(s, t, radians(70), 0.5, 0.5, ss, tt); ss = repeat(ss,dots); tt = repeat(tt,dots); /* dots */ center = (0.5, 0.5, 0); radius = 0.2; d = distance(center, (ss, tt, 0)); disk = 1 - smoothstep(radius - fuzz, radius + fuzz, d); magnitude += noise(s * amount, t * amount) * thickness * disk; P += -Km * magnitude * normalize(N); N = calculatenormal(P); }