共用方式為


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 個區塊模式和位配置清單。

區塊壓縮 (Direct3D 10)

紋理