紋理區塊壓縮
適用於紋理的區塊壓縮 (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 個不同的編碼模式,每個模式在所產生之顯示紋理的視覺化品質上的取捨皆稍有不同。 模式選項不僅可讓硬體依照來源內容來使用所選或調整的品質等級快速解碼,還可大幅提高搜尋空間的複雜度。
相關主題