Exemple de texture DDS
Pour une texture non compressée, utilisez les indicateurs DDSD_PITCH et DDPF_RGB ; pour une texture compressée, utilisez les indicateurs DDSD_LINEARSIZE et DDPF_FOURCC. Pour une texture mipmapped, utilisez également les indicateurs DDSD_MIPMAPCOUNT, DDSCAPS_MIPMAP et DDSCAPS_COMPLEX, ainsi que le membre mipmap count. Si des mipmaps sont générés, tous les niveaux inférieurs à 1 par 1 sont généralement écrits.
Pour une texture compressée, la taille de chaque image de niveau mipmap est généralement d’un quart de la taille de la précédente, avec un minimum de 8 octets (DXT1) ou 16 (DXT2-5) octets (pour les textures carrées). Utilisez la formule suivante pour calculer la taille de chaque niveau pour une texture non carrée :
max(1, ( (width + 3) / 4 ) ) x max(1, ( (height + 3) / 4 ) ) x 8(DXT1) or 16(DXT2-5)
Ce tableau répertorie la quantité d’espace occupé par chaque couche pour une texture R8G8B8 de 256 x 256, sans compression.
Composants DDS | Nombre d’octets |
---|---|
en-tête | 128 |
Image main 256 par 256 | 196 608 |
Image mipmap 128 par 128 | 49152 |
Image mipmap 64 x 64 | 12288 |
Image mipmap 32 par 32 | 3 072 |
Image mipmap 16 par 16 | 768 |
Image mipmap 8 par 8 | 192 |
Image mipmap 4 par 4 | 48 |
Image mipmap 2 par 2 | 12 |
Image mipmap 1 par 1 | 3 |
Ce tableau répertorie la quantité d’espace occupé par chaque couche pour la même texture à l’aide de la compression (DXT1).
Composants DDS | Nombre d’octets |
---|---|
en-tête | 128 |
Image main 256 x 64 | 8 192 |
Image mipmap 128 par 32 | 2 048 |
Image mipmap 64 x 16 | 512 |
Image mipmap 32 par 8 | 128 |
Image mipmap 16 x 4 | 32 |
Image mipmap 8 par 2 | 16 |
Image mipmap 4 par 1 | 8 |
Image mipmap 2 par 1 | 8 |
Image mipmap 1 par 1 | 8 |
Ce tableau répertorie la quantité d’espace occupé par chaque couche pour la même texture à l’aide d’un format de compression DXGI (dans ce cas BC3_UNORM) qui nécessite donc l’en-tête étendu :
Composants DDS | Nombre d’octets |
---|---|
en-tête (FourCC défini sur « DX10 ») | 128 |
en-tête étendu (format DXGI défini sur DXGI_FORMAT_BC3_UNORM) | 20 |
Image main 256 x 64 | 16384 |
Image mipmap 128 par 32 | 4096 |
Image mipmap 64 x 16 | 1 024 |
Image mipmap 32 par 8 | 256 |
Image mipmap 16 x 4 | 64 |
Image mipmap 8 par 2 | 32 |
Image mipmap 4 par 1 | 16 |
Image mipmap 2 par 1 | 16 |
Image mipmap 1 par 1 | 16 |
Rubriques connexes