紋理區塊壓縮

適用於紋理的區塊壓縮 (BC) 支援已於 Direct3D 11 中進行擴充,以納入 BC6H 和 BC7 演算法。 BC6H 支援高動態範圍色彩來源資料,而BC7 可針對標準的 RGB 來源資料提供優於平均品質且變形較少的壓縮。

如需進一步了解 Direct3D 11 之前的區塊壓縮演算法支援,包括適用於 BC1 至 BC5 格式的支援,請參閱區塊壓縮 (Direct3D 10)

**檔案格式注意事項:** BC6H 和 BC7 紋理壓縮格是會使用 DDS 檔案格式來儲存壓縮的紋理資料。 如需詳細資訊,請參閱DDS 的程式設計指南

Direct3D 11 中支援的區塊壓縮模式

來源資料 所需的最低資料壓縮解析度 建議的格式 支援的最低功能層級
具有 Alpha 色板的三色板色彩 三色板色彩 (5 位元:6 位元:5 位元),具有 0 或 1 位元的 Alpha BC1 Direct3D 9.1
具有 Alpha 色板的三色板色彩 三色板色彩 (5 位元:6 位元:5 位元),具有 4 位元的 Alpha BC2 Direct3D 9.1
具有 Alpha 色板的三色板色彩 三色板色彩 (5 位元:6 位元:5 位元),具有 8 位元的 Alpha BC3 Direct3D 9.1
單色板色彩 單色板色彩 (8 位元) BC4 Direct3D 10
雙色板色彩 雙色板色彩 (8 位元:8 位元) BC5 Direct3D 10
三色板高動態範圍 (HDR) 色彩 三色板色彩 (16 位元:16 位元:16 位元),使用「半」浮點* BC6H Direct3D 11
三色板色彩,Alpha 色板 (選擇性) 三色板色彩 (每個色板 4 至 7 位元),具有 0 至 8 位元的 Alpha BC7 Direct3D 11

 

*「半」浮點為 16 位元值,當中包含選擇性的符號位元、一個 5 位元的偏誤指數,以及 10 或 11 位元的尾數。

BC1、BC2 和 B3 格式

BC1、BC2 和 BC3 格式相當於 Direct3D 9 DXTn 紋理壓縮格式,且與對應的 Direct3D 10 BC1、BC2 和 BC3 格式相同。 所有功能層級都需要適用於這三個格式的支援 (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 和 D3D_FEATURE_LEVEL_11_0)。

區塊壓縮格式 DXGI 格式 Direct3D 9 對等格式 每 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

 

*這些壓縮配置 (DXT2 和 DXT4) 不會將 Direct3D 9 預乘的 Alpha 格式和標準的 Alpha 格式區隔開來。 上述區別必須於轉譯期間透過可程式設計的著色器處理。

BC4 和 BC5 格式

區塊壓縮格式 DXGI 格式 Direct3D 9 對等格式 每 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 格式

如需這個格式的詳細資訊,請參閱 BC6H 格式文件。

區塊壓縮格式 DXGI 格式 Direct3D 9 對等格式 每 4x4 像素區塊的位元組
BC6H DXGI_FORMAT_BC6H_UF16、DXGI_FORMAT_BC6H_SF16、DXGI_FORMAT_BC6H_TYPELESS N/A 16

 

BC6H 格式可針對每個 4x4 像素區塊選取不同的編碼模式。 當中總共提供 14 個不同的編碼模式,每個模式在所產生之顯示紋理的視覺化品質上的取捨皆稍有不同。 模式選項不僅可讓硬體依照來源內容來使用所選或調整的品質等級快速解碼,還可大幅提高搜尋空間的複雜度。

BC7 格式

如需這個格式的詳細資訊,請參閱 BC7 格式文件。

區塊壓縮格式 DXGI 格式 Direct3D 9 對等格式 每 4x4 像素區塊的位元組
BC7 DXGI_FORMAT_BC7_UNORM、DXGI_FORMAT_BC7_UNORM_SRGB、DXGI_FORMAT_BC7_TYPELESS N/A 16

 

BC7 格式可針對每個 4x4 像素區塊選取不同的編碼模式。 當中總共提供 8 個不同的編碼模式,每個模式在所產生之顯示紋理的視覺化品質上的取捨皆稍有不同。 模式選項不僅可讓硬體依照來源內容來使用所選或調整的品質等級快速解碼,還可大幅提高搜尋空間的複雜度。

附錄

紋理