#include "rmannotes.sl" displacement stochastic (float Km=.2, freq=4) { float surface_mag, layer_mag; float ss, tt; float PP; float fuzz = 0.05; /* CONSTRUCT THE PATTERN */ ss = repeat(s, 4); /* BACKGROUND LAYER */ surface_mag = 0; /* LAYER 1 */ layer_mag = noise(P * freq); surface_mag = surface_mag + layer_mag; /* interfering method */ /* surface_mag = max(surface_mag, layer_mag);*/ /* non-interfering method */ /* COMPUTER A NEW P and N -- THE SOLE PURPOSE OF DISPLACEMENT SHADERS */ P = P + Km * surface_mag * normalize(N); N = calculatenormal(P); }