Value Noise
Algorithms produce visual content that is too perfect. Look at the colors and the bends in some of your renderers. You can smell the math behind them. When you explore the physical world, you see splotches, cracks, and wobbles. Mimicking these imperfections in your algorithmic content seems like it would be a lot of work. Unless, maybe, you disrupt the perfection through randomness?
Not just any randomness will do, however. Some randomness is pure chaos. You wouldn't, for example, use this texture for a terrain or a specular map because it is just too wild:
This texture is an example of value noise, which means each texel's intensity is chosen as a random scalar value. When the random values are chosen without regard for any of the neighboring intensities, you end up with randomness that lacks coherence. Incoherent noise is called white noise.
The chaos of white noise can be tamed a bit by an interpolation scheme that smoothly transitions between texels. Use the controls to render the image with linear interpolation instead of nearest neighbor. Even with linear interpolation, you still see a fair amount of chaos and a distracting number of axis-aligned creases. Increasing the resolution doesn't help.
More organic noise is possible. One approach is to generate a pyramid of white noise textures of decreasing resolution, scale them all to be the same size, weight the importance of each, and then add them together. Mixing together different resolutions of randomness results in fractal noise, and each level of the fractal pyramid is called an octave.
Try building your own fractal noise texture using this scheme:
The smoothness of the noise is determined by the number of octaves in the pyramid. Each octave is half the resolution of its preceding octave, so eventually you'll hit a 1×1 image at top of the pyramid. However, if you desire a noise that is rough and grainy, you want to stop short of this top level by using fewer octaves.
The octave weights are carefully crafted to sum to 1. The lowest-resolution and therefore smoothest level is given slightly less than half of the total weight. It defines the overall shape of the randomness, with the higher-resolution levels contributing smaller details. The increasing chaos found in the higher-resolution levels is given less and less weight, which makes for a more organic noise.