Texture

Textures are graphics built up from several WAD lumps and used to cover rendered wall surfaces. Floor and ceiling flats are sometimes called textures as per the dictionary definition, but strictly speaking they are not.

Each wall consists of a linedef that references one or two sidedefs (right and optionally left). Each sidedef has three texture names (lower, middle, and upper) with up to eight characters each. (The name "-" means no texture: either not applicable or totally transparent.)

Texture graphics must be exactly 128 units high, or the tutti-frutti effect will occur. There is no maximum width. If the wall area is larger than the graphic, the pattern will be tiled. Depending on the geometry of the map design, many textures may be clipped or offset (see Texture alignment).

To a limited extent, textures can be animated to represent waterfalls, fire, dripping blood and the like.

Technical
The Doom engine looks up a texture name using the wall texture lumps TEXTURE1 and TEXTURE2. (TEXTURE1 is present in all Doom versions; TEXTURE2 supports the additional textures in registered/Ultimate Doom and Doom II.) This yields a list of indices into the PNAMES lump. For each index, PNAMES gives the name of a lump known as a wall patch; each wall patch lump is stored in Doom's picture format. Rendering the texture's list of patches gives the final texture graphic that can be applied to any wall surface.

Complete details of the data structures are given in the Unofficial Doom Specs.