Partager via


Exemple de texture DDS

Pour une texture non compressée, utilisez les indicateurs de DDSD_PITCH et de DDPF_RGB ; pour une texture compressée, utilisez les indicateurs DDSD_LINEARSIZE et DDPF_FOURCC. Pour une texture mipmapped, utilisez les indicateurs DDSD_MIPMAPCOUNT, DDSCAPS_MIPMAP et DDSCAPS_COMPLEX également ainsi que le membre du nombre mipmap. Si les mipmaps sont générés, tous les niveaux jusqu’à 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 une quatrième de la taille précédente, avec un minimum de 8 (DXT1) ou 16 octets (DXT2-5) (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 prise par chaque couche pour une texture de 256 à 256 R8G8B8, sans utiliser de compression.

Composants DDS Nombre d’octets
en-tête 128
Image principale 256 par 256 196608
Image mipmap 128 par 128 49152
Image mipmap 64 par 64 12288
Image mipmap 32 par 32 3072
Image mipmap de 16 par 16 768
Image mipmap de 8 par 8 192
Image mipmap de 4 à 4 mipmap 48
Image mipmap de 2 à 2 mipmap 12
Image mipmap 1 par 1 3

 

Ce tableau répertorie la quantité d’espace prise par chaque couche pour la même texture à l’aide de la compression (DXT1).

Composants DDS Nombre d’octets
en-tête 128
Image principale 256 par 64 8192
Image mipmap 128 par 32 2048
Image mipmap 64 par 16 512
Image mipmap 32 par 8 128
Image mipmap de 16 à 4 mipmap 32
Image mipmap de 8 à 2 mipmap 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 empruntée 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 principale 256 par 64 16384
Image mipmap 128 par 32 4096
Image mipmap 64 par 16 1024
Image mipmap 32 par 8 256
Image mipmap de 16 à 4 mipmap 64
Image mipmap de 8 à 2 mipmap 32
Image mipmap 4 par 1 16
Image mipmap 2 par 1 16
Image mipmap 1 par 1 16

 

Guide de programmation pour les DDS