Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cette documentation contient la liste des 8 modes de bloc et des allocations de bits pour les blocs de format de compression de texture BC7.
Les couleurs de chaque sous-ensemble au sein d’un bloc sont représentées par deux couleurs de point de terminaison explicites et un ensemble de couleurs interpolées entre elles. Selon la précision de l’index du bloc, chaque sous-ensemble peut avoir 4, 8 ou 16 couleurs possibles.
Mode 0
Le mode BC7 0 présente les caractéristiques suivantes :
- Composants de couleur uniquement (pas d’alpha)
- 3 sous-ensembles par bloc
- Points de terminaison RVBP 4.4.4.1 avec un bit P unique par point de terminaison
- Index 3 bits
- 16 partitions
Mode 1
Le mode BC7 1 présente les caractéristiques suivantes :
- Composants de couleur uniquement (pas d’alpha)
- 2 sous-ensembles par bloc
- Points de terminaison RVBP 6.6.6.1 avec un bit P partagé par sous-ensemble)
- Index 3 bits
- 64 partitions
de disposition
Mode 2
Le mode BC7 2 présente les caractéristiques suivantes :
- Composants de couleur uniquement (pas d’alpha)
- 3 sous-ensembles par bloc
- Points de terminaison RVB 5.5.5
- Index 2 bits
- 64 partitions
Mode 3
BC7 Mode 3 présente les caractéristiques suivantes :
- Composants de couleur uniquement (pas d’alpha)
- 2 sous-ensembles par bloc
- Points de terminaison RVBP 7.7.1 avec un bit P unique par sous-ensemble)
- Index 2 bits
- 64 partitions
Mode 4
Le mode BC7 4 présente les caractéristiques suivantes :
- Composants de couleur avec un composant alpha distinct
- 1 sous-ensemble par bloc
- Points de terminaison de couleur RVB 5.5.5
- Points de terminaison alpha 6 bits
- Index 16 x 2 bits
- Index 16 x 3 bits
- Rotation des composants 2 bits
- Sélecteur d’index 1 bits (que les index 2 ou 3 bits soient utilisés)
Mode 5
Le mode BC7 5 présente les caractéristiques suivantes :
- Composants de couleur avec un composant alpha distinct
- 1 sous-ensemble par bloc
- Points de terminaison de couleur RVB 7.7.7
- Points de terminaison alpha 8 bits
- Index de couleur 16 x 2 bits
- Index alpha 16 x 2 bits
- Rotation des composants 2 bits
Mode 6
Le mode BC7 6 présente les caractéristiques suivantes :
- Composants de couleur et alpha combinés
- Un sous-ensemble par bloc
- Points de terminaison de couleur RVBAP 7.7.7.1 (et alpha) (p-bit unique par point de terminaison)
- Index 16 x 4 bits
Mode 7
Le mode BC7 7 présente les caractéristiques suivantes :
- Composants de couleur et alpha combinés
- 2 sous-ensembles par bloc
- Points de terminaison de couleur RVBAP 5.5.5.1 (et alpha) (P-bit unique par point de terminaison)
- Index 2 bits
- 64 partitions
Remarques
Le mode 8 (l’octet le moins significatif est défini sur 0x00) est réservé. Ne l’utilisez pas dans votre encodeur. Si vous passez ce mode au matériel, un bloc initialisé à tous les zéros est retourné.
Dans BC7, vous pouvez encoder le composant alpha de l’une des manières suivantes :
Types de blocs sans encodage de composant alpha explicite. Dans ces blocs, les points de terminaison de couleur ont un encodage RVB uniquement, avec le composant alpha décodé à 1,0 pour tous les texels.
Types de blocs avec des composants de couleur et alpha combinés. Dans ces blocs, les valeurs de couleur de point de terminaison sont spécifiées au format RVBA, et les valeurs du composant alpha sont interpolées avec les valeurs de couleur.
Types de blocs avec des composants alpha et couleur séparés. Dans ces blocs, les valeurs de couleur et d’alpha sont spécifiées séparément, chacune avec leur propre ensemble d’index. Par conséquent, ils ont un vecteur efficace et un canal scalaire encodé séparément, où le vecteur spécifie généralement les canaux de couleur [R, G, B] et le scalaire spécifie le canal alpha [A]. Pour prendre en charge cette approche, un champ 2 bits distinct est fourni dans l’encodage, ce qui permet la spécification de l’encodage de canal distinct en tant que valeur scalaire. Par conséquent, le bloc peut avoir l’une des quatre représentations suivantes de cet encodage alpha (comme indiqué par le champ 2 bits) :
- RVB|R : canal alpha distinct
- AGB|R : canal de couleur rouge séparé
- RAB|G : canal de couleur « vert » distinct
- RGA|B : canal de couleur « bleu » distinct
Le décodeur réorganise l’ordre du canal en RVBA après le décodage, de sorte que le format de bloc interne est invisible pour le développeur. Les blocs avec des composants de couleur et alpha distincts ont également deux jeux de données d’index : un pour l’ensemble vectoriel de canaux et un pour le canal scalaire. (Dans le cas du mode 4, ces index sont de largeurs différentes [2 ou 3 bits]. Le mode 4 contient également un sélecteur 1 bits qui spécifie si le vecteur ou le canal scalaire utilise les index 3 bits.)
Rubriques connexes