Komprimering av strukturblock i Direct3D 11
Stöd för blockkomprimering (BC) för texturer har utökats i Direct3D 11 till att omfatta BC6H- och BC7-algoritmerna. BC6H stöder färgkälldata med hög dynamiskt intervall, och BC7 ger bättre kvalitetskomprimering än genomsnittet med färre artefakter för RGB-standardkälldata.
Mer specifik information om stöd för blockkomprimeringsalgoritmer före Direct3D 11, inklusive stöd för BC1 till BC5-format, finns i Blockkomprimering (Direct3D 10).
Obs! Filformat: BC6H- och BC7-texturkomprimeringsformat använder DDS-filformatet för lagring av komprimerade texturdata. Mer information finns i Programmeringsguide för DDS- för mer information.
Blockkomprimeringsformat som stöds i Direct3D 11
Källdata | Minsta möjliga datakomprimeringsmatchning | Rekommenderat format | Lägsta funktionsnivå som stöds |
---|---|---|---|
Trekanalsfärg med alfakanal | Tre färgkanaler (5 bitar:6 bitar:5 bitar), med 0 eller 1 bit alfa | BC1 | Direct3D 9.1 |
Trekanalsfärg med alfakanal | Tre färgkanaler (5 bitar:6 bitar:5 bitar), med 4 bitar alfa | BC2 | Direct3D 9.1 |
Trekanalsfärg med alfakanal | Tre färgkanaler (5 bitar:6 bitar:5 bitar) med 8 bitar alfa | BC3 | Direct3D 9.1 |
Färg på en kanal | En färgkanal (8 bitar) | BC4 | Direct3D 10 |
Färg med två kanaler | Två färgkanaler (8 bitar:8 bitar) | BC5 | Direct3D 10 |
HDR-färg (High Dynamic Range) med tre kanaler | Tre färgkanaler (16 bitar:16 bitar:16 bitar) i "halv" flyttal* | BC6H | Direct3D 11 |
Trekanalsfärg, alfakanal valfritt | Tre färgkanaler (4 till 7 bitar per kanal) med 0 till 8 bitar alfa | BC7 | Direct3D 11 |
*"Halv" flyttal är ett 16-bitars värde som består av en valfri teckenbit, en 5-bitars partisk exponent och en 10- eller 11-bitars mantissa.
BC1-, BC2- och B3-format
BC1-, BC2- och BC3-formaten motsvarar Direct3D 9 DXTn-texturkomprimeringsformaten och är desamma som motsvarande Direct3D 10 BC1-, BC2- och BC3-format. Stöd för dessa tre format krävs av alla funktionsnivåer (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 och D3D_FEATURE_LEVEL_11_0).
Blockera komprimeringsformat | DXGI-format | Direct3D 9 motsvarande format | Byte per block på 4 x 4 bildpunkter |
---|---|---|---|
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 |
*Dessa komprimeringsscheman (DXT2 och DXT4) gör ingen skillnad mellan de förplikerade alfaformaten direct3D 9 och standard alfaformaten. Den här skillnaden måste hanteras av de programmerbara skuggarna vid återgivningstiden.
BC4- och BC5-format
Blockera komprimeringsformat | DXGI-format | Direct3D 9 motsvarande format | Byte per block på 4 x 4 bildpunkter |
---|---|---|---|
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
Mer detaljerad information om det här formatet finns i dokumentationen BC6H Format.
Blockera komprimeringsformat | DXGI-format | Direct3D 9 motsvarande format | Byte per block på 4 x 4 bildpunkter |
---|---|---|---|
BC6H | DXGI_FORMAT_BC6H_UF16, DXGI_FORMAT_BC6H_SF16, DXGI_FORMAT_BC6H_TYPELESS | Ej tillämpligt | 16 |
BC6H-formatet kan välja olika kodningslägen för varje block på 4 x 4 bildpunkter. Totalt finns 14 olika kodningslägen tillgängliga, var och en med något olika kompromisser i den resulterande visuella kvaliteten på den visade strukturen. Valet av lägen möjliggör snabb avkodning av maskinvaran med den kvalitetsnivå som valts eller anpassats enligt källinnehållet, men det ökar också avsevärt komplexiteten i sökutrymmet.
BC7-format
Mer detaljerad information om det här formatet finns i dokumentationen BC7 Format.
Blockera komprimeringsformat | DXGI-format | Direct3D 9 motsvarande format | Byte per block på 4 x 4 bildpunkter |
---|---|---|---|
BC7 | DXGI_FORMAT_BC7_UNORM, DXGI_FORMAT_BC7_UNORM_SRGB, DXGI_FORMAT_BC7_TYPELESS | Ej tillämpligt | 16 |
BC7-formatet kan välja olika kodningslägen för varje block på 4 x 4 bildpunkter. Totalt finns 8 olika kodningslägen tillgängliga, var och en med något olika kompromisser i den resulterande visuella kvaliteten på den visade strukturen. Valet av lägen möjliggör snabb avkodning av maskinvaran med den kvalitetsnivå som valts eller anpassats enligt källinnehållet, men det ökar också avsevärt komplexiteten i sökutrymmet.
I det här avsnittet
Ämne | Beskrivning |
---|---|
BC6H-format |
BC6H-formatet är ett texturkomprimeringsformat som har utformats för att stödja hdr-färgrymder (high-dynamic range) i källdata. |
BC7-format |
BC7-formatet är ett texturkomprimeringsformat som används för högkvalitativ komprimering av RGB- och RGBA-data. |
BC7-formatlägesreferens |
Den här dokumentationen innehåller en lista över 8 blocklägen och bitallokeringar för BC7-texturkomprimeringsformatblock. |