About DDS
Microsoft introduced DirectDraw Surface with DirectX 7 in 1999, and it became the standard way to ship textures in PC and console games. The format's point is block compression: textures are stored in formats graphics cards read directly, known as DXT or BC (block compression) formats. A texture stays compressed even in video memory, which means more and larger textures fit.
The BC family
| Format | Also called | Typical use |
|---|---|---|
| BC1 | DXT1 | Opaque colour textures |
| BC2 | DXT3 | Sharp-edged transparency (rare now) |
| BC3 | DXT5 | Colour with smooth alpha |
| BC4 / BC5 | ATI1 / ATI2 | Single-channel masks, normal maps |
| BC6H / BC7 | – | HDR, and high-quality colour in modern games |
This site reads BC1 to BC3 and uncompressed DDS, and writes uncompressed DDS. Modern games increasingly use BC7, which is not supported yet.
Mipmaps and cube maps
A DDS usually carries a full chain of mipmaps, each half the size of the last, and can hold six faces for cube maps. Conversions here use the largest level and first face.
DDS at a glance
| First released | 1999 |
|---|---|
| Compression | GPU block compression, or none |
| Transparency | Yes |
| Animation or pages | Mipmaps and cube maps |
| Best for | Real-time textures in games |
| Support | Game engines and modding tools |
Questions people ask
Can I edit a game texture here?
Convert it to PNG, edit in any image editor, then convert back with PNG to DDS.
Why will a game not load my DDS?
It may require a specific compressed format such as BC3 or BC7, or mipmaps. Use a dedicated texture tool to produce them.
What does BC stand for?
Block compression: the image is stored in 4 × 4 pixel blocks the graphics card decodes directly.