Direct3D 11 中的紋理區塊壓縮
Direct3D 11 已擴充紋理的區塊壓縮 (BC) 支援,以包含 BC6H 和 BC7 演算法。 BC6H 支援高動態範圍色彩源數據,而 BC7 針對標準 RGB 源數據提供比平均品質更好的壓縮。
如需 Direct3D 11 之前區塊壓縮演算法支援的詳細資訊,包括 BC1 到 BC5 格式的支援,請參閱 區塊壓縮 (Direct3D 10)。
有關檔格式的注意事項: BC6H 和 BC7 紋理壓縮格式會使用 DDS 檔案格式來儲存壓縮的紋理數據。 如需詳細資訊,請參閱 DDS 程式設計指南以取得詳細數據。
Direct3D 11 支援的區塊壓縮格式
源數據 | 所需的數據壓縮解析度下限 | 建議的格式 | 最低支援的功能層級 |
---|---|---|---|
具有Alpha色板的三色板色彩 | 三個色板 (5 位:6 位:5 位:5 位),0 或 1 位阿爾法 | BC1 | Direct3D 9.1 |
具有Alpha色板的三色板色彩 | 三個色彩色板 (5 位:6 位:5 位:5 位),4 位 Alpha | BC2 | Direct3D 9.1 |
具有Alpha色板的三色板色彩 | 三個色彩色板 (5 位:6 位:5 位:5 位) 與 8 位 Alpha | BC3 | Direct3D 9.1 |
單色板色彩 | 色彩色板 (8 位) | BC4 | Direct3D 10 |
雙色板色彩 | 兩個色彩色板 (8 位:8 位) | BC5 | Direct3D 10 |
三通道高動態範圍 (HDR) 色彩 | 三個色彩色板(16 位:16 位:16 位:16 位)在“半”浮點* | BC6H | Direct3D 11 |
三色色、Alpha 色板選用 | 三個色彩色板(每個通道 4 到 7 位)與 0 到 8 位 Alpha | BC7 | Direct3D 11 |
*“半”浮點數是 16 位值,其中包含選擇性符號位、5 位偏差指數,以及 10 或 11 位的 mantissa。
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 格式。 這個區別必須由可程式化著色器在轉譯時間處理。
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 種不同的編碼模式可供使用,每個模式在所顯示紋理的視覺品質中各有稍微不同的取捨。 模式的選擇允許以根據來源內容選取或調整品質等級的硬體進行快速譯碼,但也大大增加了搜尋空間的複雜性。
在本節中
主題 | 描述 |
---|---|
BC6H 格式 |
BC6H 格式是紋理壓縮格式,其設計目的是支援源數據中的高動態範圍(HDR) 色彩空間。 |
BC7 格式 |
BC7 格式是紋理壓縮格式,用於 RGB 和 RGBA 資料的高品質壓縮。 |
BC7 格式模式參考 |
本檔包含 BC7 紋理壓縮格式區塊的 8 個區塊模式和位配置清單。 |