Exemple de texture de volume DDS
Pour une texture de volume, utilisez les indicateurs DDSCAPS_COMPLEX, DDSCAPS2_VOLUMEet DDSD_DEPTHet définissez dwDepth. Une texture de volume est une extension d’une texture standard pour Direct3D 9 ; Une texture de volume peut être définie avec ou sans mipmaps.
Pour les volumes sans mipmaps, chaque tranche de profondeur est écrite dans le fichier dans l’ordre. Si les mipmaps sont inclus, toutes les tranches de profondeur d’un niveau mipmap donné sont écrites ensemble, avec chaque niveau contenant la moitié autant de tranches que le niveau précédent avec un minimum de 1.
Par exemple, une carte de volume de 64 par 64 par 4 à l’aide d’un format de pixel de R8G8B8 (3 octets par pixel) avec tous les niveaux de mipmap contient les éléments suivants :
Composants DDS | Nombre d’octets |
---|---|
en-tête | 128 octets |
64 par 64 tranches 1 sur 4 images principales. | 12288 octets |
64 par 64 tranches 2 sur 4 images principales. | 12288 octets |
64 par 64 tranches 3 de 4 images principales. | 12288 octets |
64 par 64 tranches 4 sur 4 image principale. | 12288 octets |
Image de 32 par 32 tranches 1 sur 2 mipmap. | 3072 octets |
Image de 32 par 32 tranches 2 sur 2 mipmap. | 3072 octets |
16 par 16 tranches 1 sur 1 image mipmap. | 768 octets |
8 par 8 tranches 1 sur 1 image mipmap. | 192 octets |
4 par 4 tranches 1 sur 1 image mipmap. | 48 octets |
2 par 2 tranches 1 sur 1 image mipmap. | 12 octets |
1 par 1 tranche 1 d’une image mipmap. | 3 octets |
Notez que le plus petit niveau mipmap n’est que de 3 octets, car le nombre de bits est de 24 et qu’il n’y a pas de compression ajoutée à ce niveau.
La prise en charge des textures de volume a été ajoutée dans DirectX 8.
Rubriques connexes
-
Guide de programmation pour les DDS