shader
Circles(
float s = 0
[[
int lockgeom = 0,
string widget = "null",
]],
float t = 0
[[
int lockgeom = 0,
string widget = "null",
]],
float s_center = 0.5,
float t_center = 0.5,
float outer_radius = 0.4,
float inner_radius = 0.35,
float stagger = 0,
color pat_color = color(1,0,0),
color bak_color = color(1,1,1),
output color resultRGB = 0)
{
//------ repeats begin --------------------
float ss = mod(s, 1);
float tt = mod(t, 1);
float row = floor(t);
if(mod(row,2) == 0)
ss = mod(s + stagger, 1);
//------ repeats end ----------------------
// Be sure to change all instances of 's' and 't'
// to 'ss' and 'tt'.
float side_a = ss - s_center;
float side_b = tt - t_center;
float dist = sqrt(side_a * side_a + side_b * side_b);
if(dist <= outer_radius && dist >= inner_radius)
resultRGB = pat_color;
else
resultRGB = bak_color;
}