メインコンテンツまでスキップ

mirrorTile: Reflective Tiling Functions

Seamless Mirror Pattern Generation

The mirrorTile family creates seamless tiling patterns by alternating between normal and mirrored repetitions. This eliminates edge discontinuities that occur with standard tiling, producing smooth, continuous textures across tile boundaries.

Function Variants

FunctionMirror AxisInputOutput
mirrorTileBoth X and Yvec4 tile datavec4 mirrored tile
mirrorXTileX-axis onlyvec4 tile datavec4 X-mirrored tile
mirrorYTileY-axis onlyvec4 tile datavec4 Y-mirrored tile

Each function also provides Vec2 convenience variants that internally use sqTile for coordinate preprocessing.

Mathematical Principle

The mirror transformation alternates between:

  • Identity: f(x)=xf(x) = x for even tiles
  • Reflection: f(x)=1xf(x) = 1 - x for odd tiles

This creates C0C^0 continuity across tile boundaries, eliminating visible seams in tiled patterns.

ライブエディター
const fragment = () => {
      const tile = mirrorTileVec2(uv.mul(4))
      const pattern = sin(tile.x.mul(20)).mul(sin(tile.y.mul(20)))
      const color = pattern.mul(0.5).add(0.5)
      return vec4(vec3(color), 1)
}