While regular texture mapping places a predefined image over a polygon, a procedural texture is a function or algorithm that defines the color at the given point in space. It doesn't have to be a color, though. It can also be used for surface normals (for use in bump mapping), or even reflectance or shinyness.

Procedural textures have many advantages over regular texture mapping; the texture is freely scalable, and can be transformed, rotated without loss of detail. Often the texture can be made seamlessly tilable too.

In many cases there is a downside, though. It can greatly increase the rendering time, as the functions (which are often quite complex) must be evaluated for every pixel rendered (or for a raytracer, several times per pixel).

A classic example of a procedural texture is the checkerboard floor that appear in a large number of raytracer sample images. Other examples include synthetic wood textures, animal skin patterns, and clouds. The applications are endless, but as mentioned, at the cost of increased rendering time.