/* This is the shader (volumetric) for lab7. It does polka-dots Tim Fitz (cs184-bg) */ surface polka (float Ka = 1; float Kd = 1; color dotcolor = .8; color outsidecolor = .2; float size = .25; float spacing = 1;) { float xval; float yval; float zval; xval = abs(xcomp(P)); yval = abs(ycomp(P)); zval = abs(zcomp(P)); xval = xval - (spacing*floor(xval/spacing)); yval = yval - (spacing*floor(yval/spacing)); zval = zval - (spacing*floor(zval/spacing)); if ((xval+size)>spacing) xval = 1-xval; if ((yval+size)>spacing) yval = 1-yval; if ((zval+size)>spacing) zval = 1-zval; Oi = Os; if (sqrt(pow(xval, 2) + pow(yval, 2) + pow(zval, 2)) < size) { Ci = dotcolor; } else { Ci = outsidecolor; } }