Formats de texture compressés
Cette section contient des informations sur l’organisation interne des formats de texture compressé. Vous n’avez pas besoin de ces détails pour utiliser des textures compressées, car vous pouvez utiliser des fonctions Direct3D pour la conversion vers et à partir de formats compressés. Toutefois, ces informations sont utiles si vous souhaitez utiliser directement des données de surface compressées.
Direct3D utilise un format de compression qui divise les mappages de texture en blocs texels 4x4. Si la texture ne contient pas de transparence , est opaque ou si la transparence est spécifiée par un alpha 1 bits, un bloc de 8 octets représente le bloc de carte de texture. Si la carte de texture contient des texels transparents, à l’aide d’un canal alpha, un bloc de 16 octets le représente.
Toute texture unique doit spécifier que ses données sont stockées sous la forme de 64 ou 128 bits par groupe de 16 texels. Si des blocs 64 bits ( autrement dit, format BC1) sont utilisés pour la texture, il est possible de mélanger les formats alpha opaques et 1 bits sur une base par bloc dans la même texture. En d’autres termes, la comparaison de l’ampleur entière non signée de color_0 et de color_1 est effectuée de manière unique pour chaque bloc de 16 texels.
Lorsque des blocs 128 bits sont utilisés, le canal alpha doit être spécifié en mode explicite (format BC2) ou interpolé (format BC3) pour la texture entière. Comme avec la couleur, lorsque le mode interpolé est sélectionné, huit alphas interpolés ou six mode alphas interpolés peuvent être utilisés sur une base de bloc par bloc. Là encore, la comparaison de grandeur de alpha_0 et de alpha_1 est effectuée de façon unique sur une base de bloc par bloc.
L’emplacement des formats BCn est mesuré en octets (et non en blocs). Par exemple, si vous avez une largeur de 16, vous aurez une hauteur de quatre blocs (4*8 pour BC1, 4*16 pour BC2 ou BC3).
Rubriques connexes
Ressources de texture compressées