Why Textures Must Use Power‑of‑Two Dimensions
In Quake 3 and similar engines, textures should always use power‑of‑two (POT) dimensions. While many modern graphics cards can handle non‑standard sizes, older hardware often requires power‑of‑two textures for efficient rendering. Following this convention ensures compatibility and avoids unwanted quality loss.
What Are Power‑of‑Two Textures?
A power‑of‑two texture is one where both width and height are powers of two. Common powers of two include: 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, and 2048.
Textures do not need to be square. Examples:
- 512 × 256
- 1024 × 64
- 256 × 64
The smallest practical size is usually 16 × 16, though most textures will be larger.
Why Power‑of‑Two?
- Historical hardware limitations: Early GPUs optimized texture mapping by requiring POT sizes.
- Consistency: Although modern GPUs often accept non‑POT textures, sticking to POT ensures predictable behavior across systems.
- Quality retention: Non‑POT textures are automatically resized (downsampled) by the engine to the nearest lower power of two.
Supported Materials
This requirement applies to any renderable material in the engine, including:
- Standard map textures
- Skyboxes
- Minimap and levelshot images
- RoQ video textures
Visual Examples
If a texture is even one pixel smaller than a valid POT dimension, the engine reduces it. For example, 511 × 511 becomes 256 × 256; 1023 × 1023 becomes 512 × 512. Below, I show this exact example with ut4_casa in an effort to help visually comprehend how severe this can be.



