/* * ass6_4.sl * * Description: * The displacement shader that generates regular pattern using sine and * cosine functiion. * * Parameters: freq, Km * * Author: Akanee Mahasith * */ #include "rmannotes.sl" displacement ass6_4(float Km = 0.02; float freq = 30; ) { float surface_mag, layer_mag; float ss, tt; float fuzz = .05; /* background layer */ surface_mag = 0; /* layer 1 */ layer_mag = sin(t * freq); surface_mag += layer_mag; /* layer 2 */ layer_mag = sin(s * freq); surface_mag = min(surface_mag, layer_mag); /* displace */ P -= Km * surface_mag * normalize(N); N = calculatenormal(P); }