#include "rmannotes.sl" displacement spikes() { float Km = .1; float magnitude, layer_mag; float tile_s, tile_t; float freq; float d; magnitude = 0; tile_s = repeat(s, 5); tile_t = repeat(t, 5); /* CONES */ d = distance((tile_s, tile_t, 0), (0.5, 0.5, 0)); if d > .5 layer_mag = 0; else layer_mag = 2 * (.5-d); magnitude += layer_mag; d = 0.1*sin(distance((tile_s, tile_t, 0), (0, 0, 0))*31.4); layer_mag = d; magnitude += layer_mag; d = 2*pow(2*(1-s),2*(1-t)); layer_mag = d; magnitude -= layer_mag; P += Km * magnitude * normalize(N); N = calculatenormal(P); }