Condividi tramite


Compressione a blocchi delle texture

Il supporto della compressione a blocchi (BC) per le texture è stato esteso in Direct3D 11 per includere gli algoritmi BC6H e BC7. BC6H supporta dati di origine dei colori a intervalli dinamici elevati e BC7 offre una compressione di qualità migliore della media con meno artefatti per i dati di origine RGB standard.

Per informazioni più specifiche sul supporto dell'algoritmo di compressione dei blocchi prima di Direct3D 11, incluso il supporto per i formati BC1 e BC5, vedere Compressione a blocchi (Direct3D 10).

**Nota sui formati di file: ** I formati di compressione delle trame BC6H e BC7 usano il formato di file DDS per archiviare i dati delle texture compresse. Per altre informazioni, vedere la Guida alla programmazione per DDS in modo da ottenere informazioni dettagliate.

Formati di compressione a blocchi supportati in Direct3D 11

Dati di origine Risoluzione minima della compressione dei dati richiesta Formato consigliato Livello minimo di funzionalità supportato
Colore a tre canali con canale alfa Tre canali di colore (5 bit:6 bit:5 bit), con 0 o 1 bit di alfa BC1 Direct3D 9.1
Colore a tre canali con canale alfa Tre canali di colore (5 bit:6 bit:5 bit), con 4 bit di alfa BC2 Direct3D 9.1
Colore a tre canali con canale alfa Tre canali di colore (5 bit:6 bit:5 bit), con 8 bit di alfa BC3 Direct3D 9.1
Colore a un canale Un canale colore (8 bit) BC4 Direct3D 10
Colore a due canali Due canali di colore (8 bit:8 bit) BC5 Direct3D 10
Colore HDR (High Dynamic Range) a tre canali Tre canali di colore (16 bit:16 bit:16 bit) in "metà" a virgola mobile* BC6H Direct3D 11
Colore a tre canali, canale alfa facoltativo Tre canali di colore (da 4 a 7 bit per canale) con 0-8 bit di alfa BC7 Direct3D 11

 

*"Half" a virgola mobile è un valore a 16 bit costituito da un bit di segno facoltativo, un esponente con distorsione a 5 bit e una mantissa a 10 o 11 bit.

Formati BC1, BC2 e B3

I formati BC1, BC2 e BC3 sono equivalenti ai formati di compressione delle texture DXTn Direct3D 9 e corrispondono ai formati direct3D 10 BC1, BC2 e BC3 corrispondenti. Il supporto per questi tre formati è richiesto da tutti i livelli di funzionalità (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 e D3D_FEATURE_LEVEL_11_0).

Formato di compressione a blocchi Formato DXGI Formato equivalente direct3D 9 Byte per blocco di 4x4 pixel
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

 

*Questi schemi di compressione (DXT2 e DXT4) non fanno distinzione tra i formati alfa pre moltiplicati Direct3D 9 e i formati alfa standard. Questa distinzione deve essere gestita dagli shader programmabili in fase di rendering.

Formati BC4 e BC5

Formato di compressione a blocchi Formato DXGI Formato equivalente direct3D 9 Byte per blocco di 4x4 pixel
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

 

Formato BC6H

Per informazioni più dettagliate su questo formato, vedere la documentazione sul Formato BC6H .

Formato di compressione a blocchi Formato DXGI Formato equivalente direct3D 9 Byte per blocco di 4x4 pixel
BC6H DXGI_FORMAT_BC6H_UF16, DXGI_FORMAT_BC6H_SF16, DXGI_FORMAT_BC6H_TYPELESS N/D 16

 

Il formato BC6H può selezionare diverse modalità di codifica per ogni blocco di 4x4 pixel. Sono disponibili un totale di 14 diverse modalità di codifica, ognuna con compromessi leggermente diversi nella qualità visiva risultante della texture visualizzata. La scelta delle modalità consente la decodifica rapida da parte dell'hardware con il livello di qualità selezionato o adattato in base al contenuto di origine, ma aumenta anche notevolmente la complessità dello spazio di ricerca.

Formato BC7

Per informazioni più dettagliate su questo formato, vedere la documentazione sul Formato BC7 .

Formato di compressione a blocchi Formato DXGI Formato equivalente direct3D 9 Byte per blocco di 4x4 pixel
BC7 DXGI_FORMAT_BC7_UNORM, DXGI_FORMAT_BC7_UNORM_SRGB, DXGI_FORMAT_BC7_TYPELESS N/D 16

 

Il formato BC7 può selezionare diverse modalità di codifica per ogni blocco di 4x4 pixel. Sono disponibili un totale di 8 diverse modalità di codifica, ognuna con compromessi leggermente diversi nella qualità visiva risultante della texture visualizzata. La scelta delle modalità consente la decodifica rapida da parte dell'hardware con il livello di qualità selezionato o adattato in base al contenuto di origine, ma aumenta anche notevolmente la complessità dello spazio di ricerca.

Appendici

Texture