Kompresi Blok Tekstur di Direct3D 11

Dukungan Block Compression (BC) untuk tekstur telah diperluas di Direct3D 11 untuk menyertakan algoritma BC6H dan BC7. BC6H mendukung data sumber warna rentang dinamis tinggi, dan BC7 memberikan kompresi kualitas yang lebih baik dari rata-rata dengan artefak yang lebih sedikit untuk data sumber RGB standar.

Untuk informasi lebih spesifik tentang dukungan algoritma kompresi blok sebelum Direct3D 11, termasuk dukungan untuk format BC1 hingga BC5, lihat Kompresi Blok (Direct3D 10).

Catatan tentang Format File: Format kompresi tekstur BC6H dan BC7 menggunakan format file DDS untuk menyimpan data tekstur terkompresi. Untuk informasi selengkapnya, lihat Panduan Pemrograman untuk DDS untuk detailnya.

Format Kompresi Blok yang Didukung di Direct3D 11

Data sumber Resolusi kompresi data minimum yang diperlukan Format yang disarankan Tingkat fitur minimum yang didukung
Warna tiga saluran dengan saluran alfa Tiga saluran warna (5 bit:6 bit:5 bit), dengan 0 atau 1 bit alfa BC1 Direct3D 9.1
Warna tiga saluran dengan saluran alfa Tiga saluran warna (5 bit:6 bit:5 bit), dengan 4 bit alfa BC2 Direct3D 9.1
Warna tiga saluran dengan saluran alfa Tiga saluran warna (5 bit:6 bit:5 bit) dengan 8 bit alfa BC3 Direct3D 9.1
Warna satu saluran Satu saluran warna (8 bit) BC4 Direct3D 10
Warna dua saluran Dua saluran warna (8 bit:8 bit) BC5 Direct3D 10
Warna rentang dinamis tinggi tiga saluran (HDR) Tiga saluran warna (16 bit:16 bit:16 bit) dalam titik mengambang "setengah" * BC6H Direct3D 11
Warna tiga saluran, saluran alfa opsional Tiga saluran warna (4 hingga 7 bit per saluran) dengan alfa 0 hingga 8 bit BC7 Direct3D 11

*"Half" floating point adalah nilai 16 bit yang terdiri dari bit tanda opsional, eksponen bias 5 bit, dan mantissa 10 atau 11 bit.

Format BC1, BC2, dan B3

Format BC1, BC2, dan BC3 setara dengan format kompresi tekstur DXTn Direct3D 9, dan sama dengan format Direct3D 10 BC1, BC2, dan BC3 yang sesuai. Dukungan untuk ketiga format ini diperlukan oleh semua tingkat fitur (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, dan D3D_FEATURE_LEVEL_11_0).

Format kompresi blok Format DXGI Format setara Direct3D 9 Byte per blok piksel 4x4
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

*Skema kompresi ini (DXT2 dan DXT4) tidak membuat perbedaan antara format alfa direct3D 9 yang telah dikalikan sebelumnya dan format alfa standar. Perbedaan ini harus ditangani oleh shader yang dapat diprogram pada waktu render.

Format BC4 dan BC5

Format kompresi blok Format DXGI Format setara Direct3D 9 Byte per blok piksel 4x4
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

Untuk informasi selengkapnya tentang format ini, lihat dokumentasi Format BC6H .

Format kompresi blok Format DXGI Format setara Direct3D 9 Byte per blok piksel 4x4
BC6H DXGI_FORMAT_BC6H_UF16, DXGI_FORMAT_BC6H_SF16, DXGI_FORMAT_BC6H_TYPELESS T/A 16

Format BC6H dapat memilih mode pengodean yang berbeda untuk setiap blok piksel 4x4. Total 14 mode pengodean berbeda tersedia, masing-masing dengan trade-off yang sedikit berbeda dalam kualitas visual yang dihasilkan dari tekstur yang ditampilkan. Pilihan mode memungkinkan pendekodean cepat oleh perangkat keras dengan tingkat kualitas yang dipilih atau disesuaikan sesuai dengan konten sumber, tetapi juga sangat meningkatkan kompleksitas ruang pencarian.

BC7 Format

Untuk informasi selengkapnya tentang format ini, lihat dokumentasi Format BC7 .

Format kompresi blok Format DXGI Format setara Direct3D 9 Byte per blok piksel 4x4
BC7 DXGI_FORMAT_BC7_UNORM, DXGI_FORMAT_BC7_UNORM_SRGB, DXGI_FORMAT_BC7_TYPELESS T/A 16

Format BC7 dapat memilih mode pengodean yang berbeda untuk setiap blok piksel 4x4. Total 8 mode pengodean yang berbeda tersedia, masing-masing dengan trade-off yang sedikit berbeda dalam kualitas visual yang dihasilkan dari tekstur yang ditampilkan. Pilihan mode memungkinkan pendekodean cepat oleh perangkat keras dengan tingkat kualitas yang dipilih atau disesuaikan sesuai dengan konten sumber, tetapi juga sangat meningkatkan kompleksitas ruang pencarian.

Di bagian ini

Topik Deskripsi
BC6H Format
Format BC6H adalah format kompresi tekstur yang dirancang untuk mendukung ruang warna rentang dinamis tinggi (HDR) dalam data sumber.
BC7 Format
Format BC7 adalah format kompresi tekstur yang digunakan untuk kompresi data RGB dan RGBA berkualitas tinggi.
Referensi Mode Format BC7
Dokumentasi ini berisi daftar 8 mode blok dan alokasi bit untuk blok format kompresi tekstur BC7.

Kompresi Blok (Direct3D 10)

Tekstur