/* Shader description goes here */
surface
plaid_test(float Kd = 1,
tflip = 1, /* [0 or 1] */
hl1 = 0, /* [-1 1]*/
hl2 = 0, /* [-1 1]*/
hl3 = 0, /* [-1 1]*/
hl4 = 0, /* [-1 1]*/
hl5 = 0, /* [-1 1]*/
vl1 = 0, /* [-1 1]*/
vl2 = 0, /* [-1 1]*/
vl3 = 0, /* [-1 1]*/
vl4 = 0, /* [-1 1]*/
vl5 = 0, /* [-1 1]*/
bigBlueSqr = 0, /* [-1 1]*/
blSqur01 = 0; /* [-1 1]*/
color blue_square_color = color(0.6,0.717,0.721),
beige_square_color = color(0.698,0.721,0.6);)
{
color surfcolor = color(0.6,0.717,0.721);
normal n = normalize(N);
normal nf = faceforward(n, I);
float tt = 1 - t;
if (tflip == 0)
tt = t;
if(t >= 0.1 && t <= .9 && s >= 0.1 && s <= .9 ) // beige square
surfcolor = beige_square_color;
if(t >= 0.3 && t <= .7+bigBlueSqr && s >= 0.3 && s <= .7+bigBlueSqr ) // blue second square
surfcolor = blue_square_color;
//horizontal lines
if(t >= 0.1+hl1 && t <= .12+hl1 )
surfcolor = color(0.513,0.415,0.235);
if(t >= 0.3+hl2 && t <= .32+hl2 )
surfcolor = color(0.513,0.415,0.235);
if(t >= 0.5+hl3 && t <= .52+hl3 )
surfcolor = color(0.513,0.415,0.235);
if(t >= 0.7+hl4 && t <= .72+hl4 )
surfcolor = color(0.513,0.415,0.235);
if(t >= 0.9+hl5 && t <= .92+hl5 )
surfcolor = color(0.513,0.415,0.235);
//vertical lines
if(s >= 0.1+vl1 && s <= .12+vl1 )
surfcolor = color(0.513,0.415,0.235);
if(s >= 0.3+vl2 && s <= .32+vl2 )
surfcolor = color(0.513,0.415,0.235);
if(s >= 0.5+vl3 && s <= .52+vl3 )
surfcolor = color(0.513,0.415,0.235);
if(s >= 0.7+vl4 && s <= .72+vl4 )
surfcolor = color(0.513,0.415,0.235);
if(s >= 0.9+vl5 && s <= .92+vl5 )
surfcolor = color(0.513,0.415,0.235);
//first square
if(t >= 0.07 && t <= .13+blSqur01 && s >= 0.07 && s <= .13 )
surfcolor = color(0.290,0.419,0.549);
if(t >= 0.27 && t <= .33+blSqur01 && s >= 0.07 && s <= .13 )
surfcolor = color(0.290,0.419,0.549);
if(t >= 0.47 && t <= .53+blSqur01 && s >= 0.07 && s <= .13 )
surfcolor = color(0.290,0.419,0.549);
if(t >= 0.67 && t <= .73+blSqur01 && s >= 0.07 && s <= .13)
surfcolor = color(0.290,0.419,0.549);
if(t >= 0.87 && t <= .93+blSqur01 && s >= 0.07 && s <= .13 )
surfcolor = color(0.290,0.419,0.549);
//second squares
if(t >= 0.07 && t <= .13+blSqur01 && s >= 0.27 && s <= .33 )
surfcolor = color(0.290,0.419,0.549);
if(t >= 0.07 && t <= .13+blSqur01 && s >= 0.27 && s <= .33 )
surfcolor = color(0.290,0.419,0.549);
if(t >= 0.27 && t <= .33+blSqur01 && s >= 0.27 && s <= .33 )
surfcolor = color(0.290,0.419,0.549);
if(t >= 0.47 && t <= .53+blSqur01 && s >= 0.27 && s <= .33 )
surfcolor = color(0.290,0.419,0.549);
if(t >= 0.67 && t <= .73+blSqur01 && s >= 0.27 && s <= .33)
surfcolor = color(0.290,0.419,0.549);
if(t >= 0.87 && t <= .93+blSqur01 && s >= 0.27 && s <= .33 )
surfcolor = color(0.290,0.419,0.549);
//third squares
if(t >= 0.07 && t <= .13+blSqur01 && s >= 0.47 && s <= .53 )
surfcolor = color(0.290,0.419,0.549);
if(t >= 0.07 && t <= .13+blSqur01 && s >= 0.47 && s <= .53 )
surfcolor = color(0.290,0.419,0.549);
if(t >= 0.27 && t <= .33+blSqur01 && s >= 0.47 && s <= .53 )
surfcolor = color(0.290,0.419,0.549);
if(t >= 0.47 && t <= .53+blSqur01 && s >= 0.47 && s <= .53 )
surfcolor = color(0.290,0.419,0.549);
if(t >= 0.67 && t <= .73+blSqur01 && s >= 0.47 && s <= .53)
surfcolor = color(0.290,0.419,0.549);
if(t >= 0.87 && t <= .93+blSqur01 && s >= 0.47 && s <= .53 )
surfcolor = color(0.290,0.419,0.549);
//fourth squares
if(t >= 0.07 && t <= .13+blSqur01 && s >= 0.67 && s <= .73 )
surfcolor = color(0.290,0.419,0.549);
if(t >= 0.07 && t <= .13+blSqur01 && s >= 0.67 && s <= .73 )
surfcolor = color(0.290,0.419,0.549);
if(t >= 0.27 && t <= .33+blSqur01 && s >= 0.67 && s <= .73 )
surfcolor = color(0.290,0.419,0.549);
if(t >= 0.47 && t <= .53+blSqur01 && s >= 0.67 && s <= .73 )
surfcolor = color(0.290,0.419,0.549);
if(t >= 0.67 && t <= .73+blSqur01 && s >= 0.67 && s <= .73)
surfcolor = color(0.290,0.419,0.549);
if(t >= 0.87 && t <= .93+blSqur01 && s >= 0.67 && s <= .73 )
surfcolor = color(0.290,0.419,0.549);
//fifth squares
if(t >= 0.07 && t <= .13+blSqur01 && s >= 0.87 && s <= .93 )
surfcolor = color(0.290,0.419,0.549);
if(t >= 0.07 && t <= .13+blSqur01 && s >= 0.87 && s <= .93 )
surfcolor = color(0.290,0.419,0.549);
if(t >= 0.27 && t <= .33+blSqur01 && s >= 0.87 && s <= .93 )
surfcolor = color(0.290,0.419,0.549);
if(t >= 0.47 && t <= .53+blSqur01 && s >= 0.87 && s <= .93 )
surfcolor = color(0.290,0.419,0.549);
if(t >= 0.67 && t <= .73+blSqur01 && s >= 0.87 && s <= .93)
surfcolor = color(0.290,0.419,0.549);
if(t >= 0.87 && t <= .93+blSqur01 && s >= 0.87 && s <= .93 )
surfcolor = color(0.290,0.419,0.549);
/* STEP 1 - set the apparent surface opacity */
Oi = Os;
//Lighting calculation
color diffuseColor = diffuse(nf) * Kd;
/* STEP 2 - calculate the apparent surface color */
Ci = Oi * surfcolor * diffuseColor;
}