Here's a recipe I devised for making random textures that are apt for tiling (that is, that are periodic) in a image editor (Photoshop, Paint.net, GIMP).
Some samples here - I made all them following this procedure, with no other image editing.
Let's assume you want to make a 256x256 image.
- Start with a blank 256x256 image
- Add random noise.
- Enlarge the canvas, adding a margin of 256 pixels in each direction. You now have a
768x768 image
- Copy the center 256x256 image to the eight surrounding squares (this step is the most cumbersone, and must be done precisely - you can automate it, for example, in Paint.NET)
- Make some local SI transformations (explained below) on the full image.
- If not pretty, GOTO 5
- Crop the image, 256 pixels on each margin.
Result: a tileable 256x256 image.
A "local SI (space invariant) transformation" (SI is analogous to the 'TI' part in LTI filters) is any image transformation (filter, adjust, effect) that alters each pixel value on some deterministic way based only on the current value and the neighbours pixels, invariant with respect to translations. This includes, among others:
- Any color adjustment (brightnes, contrast, hue, saturation, levels-curves, equalization, posterize).
- Standard low-freq or high-frec filters, sharpening and blurring, median filters.
- Local effects: Edge detection, emboss, relief
This does NOT include "global" effects (textures rendering, spatial distortions)
The recipe can be applied to different layers, which can be combined in any "mode".
Some of the steps can be recorded as macros or whatever your image editor allows you to.
It's quite fun, and some interesting textures can be made just by trying and playing with effects and layers.