3D middle texture

A 3D middle texture, often abridged as 3dMidTex, is a sort of simplified 3D floor without a floor or ceiling. Instead, a sector's midtextures are used to represent a solid barrier under and over which it is possible to pass.

The earliest bridges were used in Hexen, represented by three little scintillating orbs slowly rotating. These "glitter bridges" however were not very fitting in the aesthetics of most Doom maps. When ZDoom allowed to use the Hexen map format in Doom games, complete with the possibility of placing bridge things to create fake 3D floors, the approach was to use an invisible bridge thing represented to the player by a criss-crossing lattice of middle textures, put to an appropriate height through their vertical offset. Typically, step or trim textures were used for their short height.

Without support for the Hexen map format and its Z-height field for things, the Eternity Engine developed first the capacity to flag a linedef as being a solid middle texture. In this way, there is no need to place an invisible brige thing; however the mapper needs to make sure the lattice of middle textures is dense enough to let actors walk on it without falling.

Although simple to use, trivial to render, and easy to implement in any port with support for true 3D physics (including the possibility of passing under and over things), 3D middle textures have important limitations when compared to 3D floors. If the port allows 90° pitch (looking straight up or down), the paper-thin nature of the midtex latticework becomes blatant. They cannot be sloped, if the port does support slopes (though the illusion can be created with a "stairway" of 3D middle textures using slanted graphics). Having several overlapping bridges of 3DMidTexes is unwieldy and unpractical. Effects available through non-solid 3D floors, such as translucent swimmable water or volumetric fog, are likewise impossible to replicate.

Despite these drawbacks, they have the advantage of being compatible with software-rendering ports such as Eternity Engine and ZDoom, making them available to a broader audience as 3D floors generally require an OpenGL renderer.

Source ports with portals

 * Eternity Engine — see 3DMidTex tutorial
 * ZDoom and derivative — see 3D middle texture