Freigeben über


Texturblockkomprimierung

Die Blockkomprimierungsunterstützung (BC) für Texturen wurde in Direct3D 11 erweitert, um die BC6H- und BC7-Algorithmen einzuschließen. BC6H unterstützt Farbquellendaten mit hohem Dynamischen Bereich, und BC7 bietet eine bessere als durchschnittliche Qualitätskomprimierung mit weniger Artefakten für Standard-RGB-Quelldaten.

Spezifischere Informationen zur Unterstützung des Blockkomprimierungsalgorithmus vor Direct3D 11, einschließlich der Unterstützung für bc1 bis BC5-Formate, finden Sie unter Blockkomprimierung (Direct3D 10).

**Hinweis zu Dateiformaten: ** Die Bc6H- und BC7-Texturkomprimierungsformate verwenden das DDS-Dateiformat zum Speichern der komprimierten Texturdaten. Weitere Informationen finden Sie im Programmierhandbuch für DDS .

In Direct3D 11 unterstützte Blockkomprimierungsformate

Quelldaten Minimale erforderliche Datenkomprimierungsauflösung Empfohlenes Format Mindest unterstützte Featureebene
Farbe mit drei Kanälen mit Alphakanal Drei Farbkanäle (5 Bit:6 Bits:5 Bit) mit 0 oder 1 Bit(n) alphan BU1 Direct3D 9.1
Farbe mit drei Kanälen mit Alphakanal Drei Farbkanäle (5 Bit:6 Bits:5 Bit) mit 4 Bit Alpha BU2 Direct3D 9.1
Farbe mit drei Kanälen mit Alphakanal Drei Farbkanäle (5 Bit:6 Bits:5 Bit) mit 8 Bit Alpha BU3 Direct3D 9.1
Einkanalfarbe Ein Farbkanal (8 Bit) BC4 Direct3D 10
Farbe mit zwei Kanälen Zwei Farbkanäle (8 Bit:8 Bit) BC5 Direct3D 10
Hdr-Farbe (High Dynamic Range) mit drei Kanälen Drei Farbkanäle (16 Bits:16 Bits:16 Bit) in "halber" Gleitkomma* BC6H Direct3D 11
3-Kanal-Farbe, Alphakanal optional Drei Farbkanäle (4 bis 7 Bit pro Kanal) mit 0 bis 8 Bit Alpha BC7 Direct3D 11

 

*"Halb"-Gleitkomma ist ein 16-Bit-Wert, der aus einem optionalen Vorzeichenbit, einem 5-Bit-Exponenten und einer 10- oder 11-Bit-Mantissa besteht.

BC1-, BC2- und B3-Formate

Die Formate BC1, BC2 und BC3 entsprechen den Direct3D 9 DXTn-Texturkomprimierungsformaten und entsprechen den entsprechenden Direct3D 10 BC1-, BC2- und BC3-Formaten. Die Unterstützung für diese drei Formate ist für alle Featureebenen (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 und D3D_FEATURE_LEVEL_11_0) erforderlich.

Blockkomprimierungsformat DXGI-Format Direct3D 9-Äquivalentformat Bytes pro 4x4-Pixelblock
BU1 DXGI_FORMAT_BC1_UNORM, DXGI_FORMAT_BC1_UNORM_SRGB, DXGI_FORMAT_BC1_TYPELESS D3DFMT_DXT1, FourCC="DXT1" 8
BU2 DXGI_FORMAT_BC2_UNORM, DXGI_FORMAT_BC2_UNORM_SRGB, DXGI_FORMAT_BC2_TYPELESS D3DFMT_DXT2*, FourCC="DXT2", D3DFMT_DXT3, FourCC="DXT3" 16
BU3 DXGI_FORMAT_BC3_UNORM, DXGI_FORMAT_BC3_UNORM_SRGB, DXGI_FORMAT_BC3_TYPELESS D3DFMT_DXT4*, FourCC="DXT4", D3DFMT_DXT5, FourCC="DXT5" 16

 

*Diese Komprimierungsschemas (DXT2 und DXT4) unterscheiden sich nicht zwischen den vor multiplizierten Direct3D 9-Alphaformaten und den Standard-Alphaformaten. Diese Unterscheidung muss von den programmierbaren Shadern zur Renderzeit behandelt werden.

BC4- und BC5-Formate

Blockkomprimierungsformat DXGI-Format Direct3D 9-Äquivalentformat Bytes pro 4x4-Pixelblock
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

Ausführlichere Informationen zu diesem Format finden Sie in der BC6H-Formatdokumentation .

Blockkomprimierungsformat DXGI-Format Direct3D 9-Äquivalentformat Bytes pro 4x4-Pixelblock
BC6H DXGI_FORMAT_BC6H_UF16, DXGI_FORMAT_BC6H_SF16, DXGI_FORMAT_BC6H_TYPELESS N/V 16

 

Das BC6H-Format kann unterschiedliche Codierungsmodi für jeden 4x4-Pixelblock auswählen. Insgesamt sind 14 verschiedene Codierungsmodi verfügbar, jeweils mit geringfügig unterschiedlichen Kompromissen in der resultierenden visuellen Qualität der angezeigten Textur. Die Auswahl der Modi ermöglicht eine schnelle Decodierung durch die Hardware mit ausgewählter oder angepasster Qualitätsstufe nach dem Quellinhalt, erhöht aber auch die Komplexität des Suchraums erheblich.

BC7-Format

Ausführlichere Informationen zu diesem Format finden Sie in der BC7 Format-Dokumentation .

Blockkomprimierungsformat DXGI-Format Direct3D 9-Äquivalentformat Bytes pro 4x4-Pixelblock
BC7 DXGI_FORMAT_BC7_UNORM, DXGI_FORMAT_BC7_UNORM_SRGB, DXGI_FORMAT_BC7_TYPELESS N/V 16

 

Das BC7-Format kann unterschiedliche Codierungsmodi für jeden 4x4-Pixelblock auswählen. Insgesamt sind 8 verschiedene Codierungsmodi verfügbar, jeweils mit geringfügig unterschiedlichen Kompromissen in der resultierenden visuellen Qualität der angezeigten Textur. Die Auswahl der Modi ermöglicht eine schnelle Decodierung durch die Hardware mit ausgewählter oder angepasster Qualitätsstufe nach dem Quellinhalt, erhöht aber auch die Komplexität des Suchraums erheblich.

Anhänge

Texturen