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

封鎖壓縮 (Direct3D 10)

紋理