/* cs184 proj2 */
/* floor shader */

surface floor  (
	color stripe_color1 = color(1,1,1);
	color stripe_color2 = 0;  
	)
{ 
	float Kd = 0.5; 
	float Ka = 0.1;
	float multiplyby = 1;
	float modby = 4;
	float comparewith = 2;

	float zz = zcomp(P);
	float xx = xcomp(P);

	if (mod(xx*multiplyby, modby) < comparewith) {
		if (mod(zz*multiplyby, modby) < comparewith)
			Ci = stripe_color1;
		else
			Ci = stripe_color2;
	} else {
		if (mod(zz*multiplyby, modby) < comparewith)
			Ci = stripe_color2;
		else
			Ci = stripe_color1;
	}
	
/*
	float x = xcomp(P) * 10;
	float y = ycomp(P); 
	float z = zcomp(P) * 10;
*/
	point Nf = faceforward( normalize(N), I);
/*
	if (	mod(x, stripe_width1) <= 2 && 
		mod(z, stripe_width1) <= 2) 
		{ Ci = stripe_color1; }	
	else { Ci = stripe_color2; }
*/
	Oi = Os;
	Ci = Ci * Oi * (Ka * ambient() + Kd * diffuse(Nf) + specular(Nf, normalize(-I), 0.4));
}