次の方法で共有


Direct3D 11 でのテクスチャ ブロック圧縮

テクスチャのブロック圧縮 (BC) のサポートが Direct3D 11 で拡張され、BC6H アルゴリズムと BC7 アルゴリズムが含まれています。 BC6H は高ダイナミック レンジのカラー ソース データをサポートし、BC7 は標準の RGB ソース データに対してアーティファクトを少なくして平均より優れた品質圧縮を提供します。

BC1 から BC5 形式のサポートなど、Direct3D 11 より前のブロック圧縮アルゴリズムのサポートの詳細については、「ブロック圧縮 (Direct3D 10)を参照してください。

ファイル形式に関する 注意: BC6H および BC7 テクスチャ圧縮形式では、圧縮テクスチャ データを格納するために DDS ファイル形式が使用されます。 詳細については、DDS プログラミング ガイドを参照してください。

Direct3D 11 でサポートされているブロック圧縮形式

ソース データ 最低限必要なデータ圧縮の解決 推奨される形式 サポートされる最小機能レベル
アルファ チャンネルを使用した 3 チャネルの色 アルファの 0 ビットまたは 1 ビットを持つ 3 つのカラー チャネル (5 ビット:6 ビット:5 ビット) BC1 Direct3D 9.1
アルファ チャンネルを使用した 3 チャネルの色 4 ビットのアルファを持つ 3 つのカラー チャネル (5 ビット:6 ビット:5 ビット) BC2 Direct3D 9.1
アルファ チャンネルを使用した 3 チャネルの色 8 ビットのアルファを持つ 3 つのカラー チャネル (5 ビット:6 ビット:5 ビット) BC3 Direct3D 9.1
1 チャンネルの色 1 色チャネル (8 ビット) BC4 Direct3D 10
2 チャンネルの色 2 色チャネル (8 ビット:8 ビット) BC5 Direct3D 10
3 チャンネルハイ ダイナミック レンジ (HDR) カラー 3 つのカラー チャネル (16 ビット:16 ビット:16 ビット) ("ハーフ" 浮動小数点* BC6H Direct3D 11
3 チャンネル カラー、アルファ チャネル (省略可能) 0 ~ 8 ビットのアルファを持つ 3 つのカラー チャネル (チャネルあたり 4 ~ 7 ビット) BC7 Direct3D 11

*"Half" 浮動小数点は、省略可能な符号ビット、5 ビットバイアス指数、10 ビットまたは 11 ビット仮数で構成される 16 ビット値です。

BC1、BC2、B3 形式

BC1、BC2、および BC3 形式は、Direct3D 9 DXTn テクスチャ圧縮形式と同等であり、対応する Direct3D 10 BC1、BC2、および BC3 形式と同じです。 これらの 3 つの形式のサポートは、すべての機能レベル (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 の事前乗算されたアルファ形式と標準のアルファ形式を区別しません。 この区別は、レンダリング時にプログラム可能なシェーダーによって処理される必要があります。

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)

テクスチャ