Compression de blocs de texture
La prise en charge de la compression de blocs (BC) pour les textures a été étendue dans Direct3D 11 pour inclure les algorithmes BC6H et BC7. BC6H prend en charge les données de source de couleurs haute plage dynamique, et BC7 offre une compression de qualité supérieure à la moyenne avec moins d’artefacts pour les données sources RVB standard.
Pour plus d’informations sur la prise en charge de l’algorithme de compression de bloc avant Direct3D 11, notamment la prise en charge des formats BC1 à BC5, consultez Compression de bloc (Direct3D 10).
**Remarque sur les formats de fichier : ** Les formats de compression de texture BC6H et BC7 utilisent le format de fichier DDS pour stocker les données de texture compressées. Pour plus d’informations, consultez le Guide de programmation pour DDS pour plus d’informations.
Formats de compression de bloc pris en charge dans Direct3D 11
Données sources | Résolution minimale de compression des données requise | Format recommandé | Niveau de fonctionnalité minimum pris en charge |
---|---|---|---|
Couleur à trois canaux avec canal alpha | Trois canaux de couleur (5 bits :6 bits :5 bits), avec 0 ou 1 bits de alpha | BC1 | Direct3D 9.1 |
Couleur à trois canaux avec canal alpha | Trois canaux de couleur (5 bits :6 bits :5 bits), avec 4 bits de alpha | BC2 | Direct3D 9.1 |
Couleur à trois canaux avec canal alpha | Trois canaux de couleur (5 bits :6 bits :5 bits) avec 8 bits de alpha | BC3 | Direct3D 9.1 |
Couleur d’un canal | Un canal de couleur (8 bits) | BC4 | Direct3D 10 |
Couleur à deux canaux | Deux canaux de couleur (8 bits :8 bits) | BC5 | Direct3D 10 |
Couleur haute plage dynamique à trois canaux (HDR) | Trois canaux de couleur (16 bits :16 bits :16 bits) en virgule flottante « moitié » * | BC6H | Direct3D 11 |
Couleur de trois canaux, canal alpha facultatif | Trois canaux de couleur (4 à 7 bits par canal) avec 0 à 8 bits de alpha | BC7 | Direct3D 11 |
*"Half » à virgule flottante est une valeur de 16 bits qui se compose d’un bit de signe facultatif, d’un exposant biaisé de 5 bits et d’une mantisse de 10 ou 11 bits.
Formats BC1, BC2 et B3
Les formats BC1, BC2 et BC3 sont équivalents aux formats de compression de texture Direct3D 9 DXTn et sont identiques aux formats direct3D 10 BC1, BC2 et BC3 correspondants. La prise en charge de ces trois formats est requise par tous les niveaux de fonctionnalités (D3D_FEATURE_LEVEL_9_1, D3D_FEATURE_LEVEL_9_2, D3D_FEATURE_LEVEL_9_3, D3D_FEATURE_LEVEL_10_0, D3D_FEATURE_LEVEL_10_1 et D3D_FEATURE_LEVEL_11_0).
Format de compression de bloc | Format DXGI | Format équivalent Direct3D 9 | Octets par bloc de 4 x 4 pixels |
---|---|---|---|
BC1 | DXGI_FORMAT_BC1_UNORM, DXGI_FORMAT_BC1_UNORM_SRGB, DXGI_FORMAT_BC1_TYPELESS | D3DFMT_DXT1, FourCC="DXT1 » | 8 |
BC2 | DXGI_FORMAT_BC2_UNORM, DXGI_FORMAT_BC2_UNORM_SRGB, DXGI_FORMAT_BC2_TYPELESS | D3DFMT_DXT2*, FourCC="DXT2 », D3DFMT_DXT3, FourCC="DXT3 » | 16 |
BC3 | DXGI_FORMAT_BC3_UNORM, DXGI_FORMAT_BC3_UNORM_SRGB, DXGI_FORMAT_BC3_TYPELESS | D3DFMT_DXT4*, FourCC="DXT4 », D3DFMT_DXT5, FourCC="DXT5 » | 16 |
*Ces schémas de compression (DXT2 et DXT4) ne font aucune distinction entre les formats alpha prédéfinis Direct3D 9 et les formats alpha standard. Cette distinction doit être gérée par les nuanceurs programmables au moment du rendu.
Formats BC4 et BC5
Format de compression de bloc | Format DXGI | Format équivalent Direct3D 9 | Octets par bloc de 4 x 4 pixels |
---|---|---|---|
BC4 | DXGI_FORMAT_BC4_UNORM, DXGI_FORMAT_BC4_SNORM, DXGI_FORMAT_BC4_TYPELESS | FourCC="ATI1 » | 8 |
BC5 | DXGI_FORMAT_BC5_UNORM, DXGI_FORMAT_BC5_SNORM, DXGI_FORMAT_BC5_TYPELESS | FourCC="ATI2 » | 16 |
BC6H Format
Pour plus d’informations sur ce format, consultez la documentation bc6H Format .
Format de compression de bloc | Format DXGI | Format équivalent Direct3D 9 | Octets par bloc de 4 x 4 pixels |
---|---|---|---|
BC6H | DXGI_FORMAT_BC6H_UF16, DXGI_FORMAT_BC6H_SF16, DXGI_FORMAT_BC6H_TYPELESS | S/O | 16 |
Le format BC6H peut sélectionner différents modes d’encodage pour chaque bloc de 4 x 4 pixels. Un total de 14 modes d’encodage différents sont disponibles, chacun avec des compromis légèrement différents dans la qualité visuelle résultante de la texture affichée. Le choix des modes permet un décodage rapide par le matériel avec le niveau de qualité sélectionné ou adapté en fonction du contenu source, mais il augmente également considérablement la complexité de l’espace de recherche.
BC7 Format
Pour plus d’informations sur ce format, consultez la documentation BC7 Format .
Format de compression de bloc | Format DXGI | Format équivalent Direct3D 9 | Octets par bloc de 4 x 4 pixels |
---|---|---|---|
BC7 | DXGI_FORMAT_BC7_UNORM, DXGI_FORMAT_BC7_UNORM_SRGB, DXGI_FORMAT_BC7_TYPELESS | S/O | 16 |
Le format BC7 peut sélectionner différents modes d’encodage pour chaque bloc de 4 x 4 pixels. Un total de 8 modes d’encodage différents sont disponibles, chacun avec des compromis légèrement différents dans la qualité visuelle résultante de la texture affichée. Le choix des modes permet un décodage rapide par le matériel avec le niveau de qualité sélectionné ou adapté en fonction du contenu source, mais il augmente également considérablement la complexité de l’espace de recherche.
Rubriques connexes