This is a WebGL implementation of Histogram-preserving Blending for Randomized Texture Tiling. This method allows you to take any input texture and produce an infinite, non-repeating texture from it. The method is fast, simple, requires minimal preprocessing and storage, and the input texture doesn't even have to tile! The method works best on input textures that are stochastic in nature and don't have periodic features (e.g. brick). Natural textures (e.g. marble, bark, etc.) tend to work best.
Try the interactive demo below. Select any of the preloaded input textures or upload your own.