Direct3D 11 中的紋理區塊壓縮
紋理的區塊壓縮 (BC) 支援在 Direct3D 11 中已進行擴充,內含 BC6H 和 BC7 演算法。 BC6H 支援高動態範圍色彩來源資料,而 BC7 使用較少的標準 RGB 來源資料成品,提供高於平均品質的壓縮。
如需關於 Direct3D 11 之前區塊壓縮演算法支援 (包括 BC1 到 BC5 格式的支援) 的相關詳細資訊,請參閱區塊壓縮 (Direct3D 10)。
關於檔案格式的注意事項: BC6H 和 BC7 紋理壓縮格式會使用 DDS 檔案格式來儲存壓縮的紋理資料。 如需詳細資訊,請參閱DDS 程式設計指南。
Direct3D 11 支援的區塊壓縮格式
來源資料 | 資料壓縮解析度的最低需求 | 建議格式 | 最低支援的功能層級 |
---|---|---|---|
帶有 Alpha 色板的三通道色彩 | 帶有 0 或 1 個位元 Alpha 的三色彩通道 (5 個位元:6 個位元:5 個位元) | BC1 | Direct3D 9.1 |
帶有 Alpha 色板的三通道色彩 | 帶有 4 個位元 Alpha 的三色彩通道 (5 個位元:6 個位元:5 個位元) | BC2 | Direct3D 9.1 |
帶有 Alpha 色板的三通道色彩 | 帶有 8 個位元 Alpha 的三色彩通道 (5 個位元:6 個位元:5 個位元) | BC3 | Direct3D 9.1 |
單一通道色彩 | 單一色彩通道 (8 個位元) | BC4 | Direct3D 10 |
雙通道色彩 | 兩個色彩通道 (8 個位元:8 個位元) | BC5 | Direct3D 10 |
三通道高動態範圍 (HDR) 色彩 | 三個色彩通道 (16 位:16 位:16 位) 在「半」浮點* | BC6H | Direct3D 11 |
三通道色彩,及選擇性的 Alpha 色板 | 帶有 0 到 8 個位元 Alpha 的三色彩通道 (每個通道 4 到 7 個位元) | BC7 | Direct3D 11 |
*「Half」 浮點數是一個 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 對等格式 | 每個 4 x 4 像素區塊的位元組 |
---|---|---|---|
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 格式。 此區別必須透過可程式化著色器於轉譯時間中進行處理。
BC4 及 BC5 格式
區塊壓縮格式 | DXGI 格式 | Direct3D 9 對等格式 | 每個 4 x 4 像素區塊的位元組 |
---|---|---|---|
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 對等格式 | 每個 4 x 4 像素區塊的位元組 |
---|---|---|---|
BC6H | DXGI_FORMAT_BC6H_UF16、DXGI_FORMAT_BC6H_SF16、DXGI_FORMAT_BC6H_TYPELESS | N/A | 16 |
BC6H 格式針對每個 4 x 4 的像素區塊可以選擇不同的編碼模式。 共計有 14 個不同的編碼模式可以使用,每一種模式對於顯示紋理的最終視覺品質都有些許不同的取捨。 根據來源內容選擇或配合的品質等級,模式的選擇可允許硬體進行更快速的解碼,然而這也會大幅增加搜尋空間的複雜度。
BC7 格式
如需關於此格式的詳細資訊,請參閱BC7 格式文件。
區塊壓縮格式 | DXGI 格式 | Direct3D 9 對等格式 | 每個 4 x 4 像素區塊的位元組 |
---|---|---|---|
BC7 | DXGI_FORMAT_BC7_UNORM、DXGI_FORMAT_BC7_UNORM_SRGB、DXGI_FORMAT_BC7_TYPELESS | N/A | 16 |
BC7 格式針對每個 4 x 4 的像素區塊可以選擇不同的編碼模式。 共計有 8 個不同的編碼模式可以使用,每一種模式對於顯示紋理的最終視覺品質都有些許不同的取捨。 根據來源內容選擇或配合的品質等級,模式的選擇可允許硬體進行更快速的解碼,然而這也會大幅增加搜尋空間的複雜度。
本節內容
主題 | 描述 |
---|---|
BC6H 格式 |
BC6H 格式為一種設計用來支援來源資料中高動態範圍 (HDR) 色彩空間的紋理壓縮格式。 |
BC7 格式 |
BC7 格式是用於高品質 RGB 和 RGBA 資料壓縮的紋理壓縮格式。 |
BC7 格式模式參考 |
本檔包含 BC7 紋理壓縮格式區塊的 8 個區塊模式和位配置清單。 |