Sdílet prostřednictvím


Komprese bloku textury v Direct3D 11

Podpora komprese bloků (BC) pro textury byla rozšířena v Direct3D 11 tak, aby zahrnovala algoritmy BC6H a BC7. BC6H podporuje data zdroje barev s vysokým dynamickým rozsahem a BC7 poskytuje lepší než průměrnou kompresi kvality s méně artefakty pro standardní zdrojová data RGB.

Podrobnější informace o podpoře algoritmů komprese bloků před Direct3D 11, včetně podpory formátů BC1 až BC5, naleznete v tématu Block Compression (Direct3D 10).

Poznámka k formátům souborů: Formáty komprese textur BC6H a BC7 používají formát DDS k ukládání komprimovaných dat textury. Další informace najdete v průvodci programováním pro DDS podrobnosti.

Blokové formáty komprese podporované v Direct3D 11

Zdrojová data Minimální požadované rozlišení komprese dat Doporučený formát Minimální podporovaná úroveň funkcí
Tříkanálová barva s alfa kanálem Tři barevné kanály (5 bitů:6 bitů:5 bitů) s 0 nebo 1 bity alfa BC1 Direct3D 9.1
Tříkanálová barva s alfa kanálem Tři barevné kanály (5 bitů:6 bitů:5 bitů) s 4 bity alfa BC2 Direct3D 9.1
Tříkanálová barva s alfa kanálem Tři barevné kanály (5 bitů:6 bitů:5 bitů) s 8 bity alfa BC3 Direct3D 9.1
Barva jednoho kanálu Jeden barevný kanál (8 bitů) BC4 Direct3D 10
Dvoukanálová barva Dva barevné kanály (8 bitů:8 bitů) BC5 Direct3D 10
Barva tříkanálového vysokého dynamického rozsahu (HDR) Tři barevné kanály (16 bitů:16 bitů:16 bitů) v "polovině" s plovoucí desetinou čárkou* BC6H Direct3D 11
Tříkanálová barva, alfa kanál volitelné Tři barevné kanály (4 až 7 bitů na kanál) s 0 až 8 bity alfa BC7 Direct3D 11

*"Poloviční" plovoucí desetinná čárka je 16bitová hodnota, která se skládá z volitelného znaménka, 5bitového exponentu a 10 nebo 11bitové mantisy.

Formáty BC1, BC2 a B3

Formáty BC1, BC2 a BC3 jsou ekvivalentní formátům komprese textury DIRECT3D 9 DXTn a jsou stejné jako odpovídající formáty Direct3D 10 BC1, BC2 a BC3. Podpora těchto tří formátů vyžaduje všechny úrovně funkcí (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 a D3D_FEATURE_LEVEL_11_0).

Blokový formát komprese Formát DXGI Ekvivalentní formát Direct3D 9 Bajty na blok 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

*Tato komprimační schémata (DXT2 a DXT4) nerozlišují přednásobené alfa formáty Direct3D 9 a standardní alfa formáty. Toto rozlišení musí být zpracováno programovatelnými shadery v době vykreslování.

Formáty BC4 a BC5

Blokový formát komprese Formát DXGI Ekvivalentní formát Direct3D 9 Bajty na blok 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

Formát BC6H

Podrobnější informace o tomto formátu najdete v dokumentaci k FORMÁTU BC6H.

Blokový formát komprese Formát DXGI Ekvivalentní formát Direct3D 9 Bajty na blok 4x4 pixelů
BC6H DXGI_FORMAT_BC6H_UF16, DXGI_FORMAT_BC6H_SF16, DXGI_FORMAT_BC6H_TYPELESS Není k dispozici 16

Formát BC6H může vybrat různé režimy kódování pro každý blok 4x4 pixelů. K dispozici je celkem 14 různých režimů kódování, každý s mírně odlišnými kompromisy ve výsledné vizuální kvalitě zobrazené textury. Volba režimů umožňuje rychlé dekódování hardwarem s vybranou nebo přizpůsobenou úrovní kvality podle zdrojového obsahu, ale také výrazně zvyšuje složitost vyhledávacího prostoru.

Formát BC7

Podrobnější informace o tomto formátu najdete v dokumentaci k FORMÁTU BC7.

Blokový formát komprese Formát DXGI Ekvivalentní formát Direct3D 9 Bajty na blok 4x4 pixelů
BC7 DXGI_FORMAT_BC7_UNORM, DXGI_FORMAT_BC7_UNORM_SRGB, DXGI_FORMAT_BC7_TYPELESS Není k dispozici 16

Formát BC7 může vybrat různé režimy kódování pro každý blok 4x4 pixelů. K dispozici je celkem 8 různých režimů kódování, každý s mírně odlišnými kompromisy ve výsledné vizuální kvalitě zobrazené textury. Volba režimů umožňuje rychlé dekódování hardwarem s vybranou nebo přizpůsobenou úrovní kvality podle zdrojového obsahu, ale také výrazně zvyšuje složitost vyhledávacího prostoru.

V této části

Námět Popis
formátu BC6H
Formát BC6H je formát komprese textury navržený tak, aby podporoval barevné prostory s vysokým dynamickým rozsahem (HDR) ve zdrojových datech.
formátu BC7
Formát BC7 je formát komprese textury používaný pro vysoce kvalitní kompresi dat RGB a RGBA.
referenční režimu formátu BC7
Tato dokumentace obsahuje seznam 8 režimů bloku a přidělení bitů pro bloky komprese textur BC7.

block compression (Direct3D 10)

textury