Premium apps

Texture Tile Seam Checker

Measure opposite-edge jumps and feather a reusable numeric texture tile.

Try an example: An asymmetric ramp · Inspect without blending

More about this tool

How it works

Turn a typed grayscale grid into a texture tile, compare opposite-edge differences before and after symmetric feathering, and inspect an exact 2 × 2 repeated PNG. Save an editable material project with its original source and blend recipe.

  • Input is a 2–64 row and column grid of 0–1 heights, bilinearly interpolated to 16–512 px. The same deterministic engine is used in the browser Texture Lab and API/MCP.
  • The edge score is the mean absolute RGB difference between corresponding first/last rows and columns, divided by 255. A score of zero means outer pixels match exactly; it is not a perceptual quality score.
  • A blend band of 0–25% per edge symmetrically mixes corresponding edge pairs toward their average. Weight is (1 − distance / band width)². Horizontal blending precedes vertical blending. Pixels outside the bands are unchanged.
  • The 2 × 2 preview repeats the blended tile without interpolation. Feathering can soften edge detail and cannot remove repeated motifs or guarantee continuity of derivatives.

Equal boundary colors do not guarantee matching slopes or an invisible repeating pattern. This is symmetric edge feathering, not texture synthesis.

Sources

Part of Renderloom

Inspect and feather a texture tile seam

Compare opposite texture edges, feather their differences and inspect an exact repeated tile preview.

What it is for

Texture Tile Seam Checker provides a reproducible way to inspect the boundary of a small texture tile. Start from a numeric grayscale grid, measure the difference between opposite edges, apply symmetric edge feathering and download an exact two-by-two repeated preview.

It is useful for height-field experiments, decorative tiles, game-material studies and learning why a texture can have matching border colors yet still show a visible repeat. The same engine appears in Renderloom Texture Lab, where local PNG, JPEG and WebP images can be used as source textures.

Worked example

Choose the asymmetric-ramp example. Its rows contain different values on the left and right, and its first row differs from its last. Keep the 128-pixel output and an edge feather fraction of 0.12.

Calculate and compare the original and feathered tile PNGs. The summary reads "Opposite-edge difference: 44.88% → 0.00%." The score starts that high because opposing border pixels differ strongly. After feathering, corresponding outer pixels match and the score reaches zero. The second example, a symmetric grid, already reports 0.00% → 0.00%.

Open the repeated preview. It places four exact copies of the feathered tile next to each other, without interpolation. Inspect the central cross where all four copies meet. The surface can still look repetitive, and some changes in slope may remain visible.

Save the editable material project and open it in Renderloom Texture Lab. Switch between base color, height and tangent normal while enabling the two-by-two repeat. A normal map often reveals boundary slope changes that a grayscale image hides.

How to read the result

The score is the mean absolute RGB difference between corresponding first and last columns and corresponding first and last rows, divided by 255. It ranges from zero to one. The display converts it to a percentage. It is a boundary difference metric, not a perceptual quality grade.

The blend band covers the selected fraction of each edge, up to one quarter of the texture dimension. Opposing pixels are mixed toward their average. The mixing weight falls quadratically with distance from the boundary. Horizontal blending runs before vertical blending.

The outermost opposing pixels become equal whenever the feather fraction is positive. Pixels beyond the bands remain unchanged. This keeps most interior detail, but can soften or mirror detail near the boundaries.

The project preserves the original source PNG and the selected fraction. Reopening it recomputes the result from that source, which prevents cumulative softening when the fraction is edited repeatedly.

Tips and common mistakes

Use a rectangular grid with two to sixty-four rows and columns, each value between zero and one. The square output is sixteen to 512 pixels per side. A fraction of zero measures the original without changing it.

Avoid treating a zero score as proof that the texture is seamlessly repeatable in every application. Color continuity does not guarantee continuity of slopes, and obvious recurring features remain recurring features.

Try small blend fractions first. A larger band affects more detail and does not automatically improve the result. Check the repeated normal map and the intended material scale before using a tile across a large object.

FAQ

Is this texture synthesis?

No. It uses symmetric edge feathering on the existing pixels. It does not invent missing texture detail, match random patches or remove prominent repeated motifs.

Are the preview dimensions exact?

Yes. A 128-pixel tile produces a 256-pixel two-by-two PNG. Each quadrant contains the exact exported tile, with no extra resampling.

Can I automate a comparison?

Yes. Use renderloom-tile-seam through the JSON API or renderloom_tile_seam through MCP. The response includes before and after scores, original and feathered PNG artifacts, the repeat preview and an editable material project.

Guide last updated:

For scripts and AI agents

  • JSON API: POST https://renderloomtileseam.usefulweb.site/api/v1/calculate (same calculation as this page)
  • Interface description: OpenAPI 3.1 · AI guide: llms.txt
  • MCP server (Streamable HTTP): https://renderloomtileseam.usefulweb.site/mcp · tool name renderloom_tile_seam
Example request
curl -s -X POST https://renderloomtileseam.usefulweb.site/api/v1/calculate \
  -H 'content-type: application/json' \
  -d '{"grid":"0, 0.25, 0.5, 1\n0.1, 0.4, 0.6, 0.9\n0.3, 0.2, 0.8, 0.75"}'
Feedback · ideas & bug reports welcome