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.
Argomenti correlati