/*crossweave by wooksang 4/29*/ #include "rmannotes.sl" surface cross_noise_weave() { color surface_color, layer_color; color surface_opac, layer_opac; float ss, tt; float row, col; float fuzz = 0; float freq=4; /*background color*/ surface_color=(0.9, 0.1, 0.1); /*red*/ surface_opac=1; /*coordinate, making numbers*/ ss=repeat(s,freq); tt=repeat(t,freq); col=whichtile(s,freq); row=whichtile(t,freq); if (even(col)&&even(row))||(odd(col)&&odd(row)) { /*verticle*/ layer_color=(0.2,0.1,0.3); /*green*/ layer_opac=pulse(noise(s*50,t*50), 0.9,fuzz,tt); surface_color=blend(surface_color, layer_color, layer_opac); /*horizon*/ layer_color=(0.6,0.1,0.4); /*blue*/ layer_opac=pulse(0.8,0.9,fuzz,ss); surface_color=blend(surface_color, layer_color, layer_opac); } else { /*horizon*/ layer_color=(1,1,1); /*blue*/ layer_opac=pulse(0.2-noise(s*50,t*50) ,noise(s*50,t*50)+0.2 ,fuzz,ss); surface_color=blend(surface_color, layer_color, layer_opac); /*verticle*/ layer_color=(0.8,1,0.5); /*green*/ layer_opac=pulse(0.1, 0.3,fuzz,tt); layer_opac=layer_opac*0.5; surface_color=blend(surface_color, layer_color, layer_opac); } Oi=surface_opac; Ci=surface_opac*surface_color; }