Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
For an uncompressed texture, use the DDSD_PITCH and DDPF_RGB flags; for a compressed texture, use the DDSD_LINEARSIZE and DDPF_FOURCC flags. For a mipmapped texture, use the DDSD_MIPMAPCOUNT, DDSCAPS_MIPMAP, and DDSCAPS_COMPLEX flags also as well as the mipmap count member. If mipmaps are generated, all levels down to 1-by-1 are usually written.
For a compressed texture, the size of each mipmap level image is typically one-fourth the size of the previous, with a minimum of 8 (DXT1) or 16 (DXT2-5) bytes (for square textures). Use the following formula to calculate the size of each level for a non-square texture:
max(1, ( (width + 3) / 4 ) ) x max(1, ( (height + 3) / 4 ) ) x 8(DXT1) or 16(DXT2-5)
This table lists the amount of space taken up by each layer for a 256-by-256 R8G8B8 texture, without using compression.
DDS Components | # Bytes |
---|---|
header | 128 |
256-by-256 main image | 196608 |
128-by-128 mipmap image | 49152 |
64-by-64 mipmap image | 12288 |
32-by-32 mipmap image | 3072 |
16-by-16 mipmap image | 768 |
8-by-8 mipmap image | 192 |
4-by-4 mipmap image | 48 |
2-by-2 mipmap image | 12 |
1-by-1 mipmap image | 3 |
This table lists the amount of space taken up by each layer for the same texture using compression (DXT1).
DDS Components | # Bytes |
---|---|
header | 128 |
256-by-64 main image | 8192 |
128-by-32 mipmap image | 2048 |
64-by-16 mipmap image | 512 |
32-by-8 mipmap image | 128 |
16-by-4 mipmap image | 32 |
8-by-2 mipmap image | 16 |
4-by-1 mipmap image | 8 |
2-by-1 mipmap image | 8 |
1-by-1 mipmap image | 8 |
This table lists the amount of space taken up by each layer for the same texture using a DXGI compression format (in this case BC3_UNORM) that therefore requires the extended header:
DDS Components | # Bytes |
---|---|
header (FourCC set to "DX10") | 128 |
extended header (DXGI format set to DXGI_FORMAT_BC3_UNORM) | 20 |
256-by-64 main image | 16384 |
128-by-32 mipmap image | 4096 |
64-by-16 mipmap image | 1024 |
32-by-8 mipmap image | 256 |
16-by-4 mipmap image | 64 |
8-by-2 mipmap image | 32 |
4-by-1 mipmap image | 16 |
2-by-1 mipmap image | 16 |
1-by-1 mipmap image | 16 |
Related topics