ОБОЙНЫЕ ГРУППЫ → ×× (pg)

Только скользящие отражения — без поворотов и чистых отражений. Каждая строка — это предыдущая, отражённая и сдвинутая на полклетки.

vec2 pg(vec2 uv){
  uv.x=fract(uv.x);
  if(mod(floor(uv.y),2.)==0.)uv.x=1.-uv.x;
  uv.y=fract(uv.y);
  return uv;
}