Ameo Texture Utils

A collection of web-based tools for generating + manipulating textures for WebGL and other applications.

Seamless Texture Stitcher

Takes multiple similar seamless textures and stitches them together into a bigger output texture, retaining their seamlessness.

Works great for taking several similar seamless textures generated via stable diffusion or other tools and creating 2k or higher textures from them.

Seamless Tile Maker

Takes a single near-seamless texture and produces a same-size output that tiles cleanly by blending the image with a half-period-shifted copy of itself in a configurable margin around the seams.

Optional variance-preserving (contrast-corrected) blending preserves detail in the seam region for textures with strong high-frequency content.

Single-Channel Texture Compressor

Uses pallette reduction to pack an RGB texture into a single 256-color channel. Allows for the other channels to be used for things like a normal map.

Note that the outputs from this will not be technically correct for a lot of things like interpolation, mipmap generation, and other things. However, I've found that it's good enough for the things I use it for.

Color Ramp Builder

Tool to create a color ramp that can be used to map a grayscale texture to color.

Noise Signature Extractor

Fits a compact spectral fingerprint (~32 bytes) + color ramp to a texture photo and re-synthesizes a seamless texture from just those parameters.

Outputs copy-pastable Geoscript code. Works best on stochastic materials (concrete, sand, stucco, wood grain); structured layouts like bricks won't survive — by design.

Spectral Noise Playground

Interactive playground for the spectral_noise synthesizer: hand-edit the log-polar band spectrum, spectral peaks, and color ramp with live previews of both the texture and its model spectrum.

A learning tool for building an intuition of how spectra map to texture appearance. Emits the same copy-pastable Geoscript snippets as the extractor.

Normal Map Composer

Blends two tangent-space normal maps using Reoriented Normal Mapping.

Normal Map Filter

Filter normal maps to extract or remove detail at specific frequency scales. Supports low-pass, high-pass, band-pass, and band-reject modes using Gaussian filtering.

Reverse Color Ramp

Generates a GLSL function that maps diffuse color to a scalar value (for use in things like generating roughness/metalness) based on a user-defined reverse color ramp.

Distortion Correction

Corrects perspective (keystone) distortion in photos of flat surfaces — tiled floors, textured walls — to produce clean, square diffuse maps for 3D rendering.

Auto-detects the distortion from straight lines in the image (Canny + Hough vanishing points), with manual corner and guide-line controls for fine-tuning.

SVG Path Editor

Edit simple open SVG paths on a grid with snapping, point insertion/removal, and live path output.