ボリュームのタイル表示されたリソース

ボリューム (3D) テクスチャは、タイル リソースとして使用できます (タイルの解像度は 3 次元であることに注意します)。

概要

タイル リソースにより、D3D リソース オブジェクトがそのバッキング メモリから切り離されます (以前のリソースは、そのバッキング メモリと 1:1 の関係でした)。 これにより、テクスチャ データのストリーミングやメモリ使用量の再利用や削減など、さまざまな興味深いシナリオが可能になります。

2D テクスチャのタイル リソースは、D3D11.2 でサポートされています。 D3D12 と D3D11.3 は、3D タイル テクスチャのサポートを追加します。

タイルで使用される標準リソース寸法は、2D テクスチャの場合は 4 x 4 タイル、3D テクスチャの場合は 4 x 4 x 4 タイルです。

ビット/ピクセル (1 サンプル/ピクセル) タイルの寸法 (ピクセル、W x H x D)
8 64 x 32 x 32
16 32 x 32 x 32
32 32 x 32 x 16
64 32 x 16 x 16
128 16 x 16 x 16
BC 1、4 128 x 64 x 16
BC 2、3、5、6、7 64 x 64 x 16

 

タイル リソースでは、96bpp 形式、ビデオ形式、R1_UNORM、R8G8_B8G8_UNORM、R8R8_G8B8_UNORMの形式はサポートされていないことに注意してください。

下の図で、濃い灰色は NULL のタイルを表します。

テクスチャ 3D タイル リソースの既定のマッピング (最も詳細なミップ)

最も詳細なミップの既定のマッピング

テクスチャ 3D タイル リソースの既定のマッピング (2 番目に詳細なミップ)

2 番目に詳細なミップの既定のマッピング

テクスチャ 3D タイル リソース (最も詳細なミップ)

次のコードでは、最も詳細なミップで 3D タイル リソースを設定しています。

D3D11_TILED_RESOURCE_COORDINATE trCoord;
trCoord.X = 1;
trCoord.Y = 0;
trCoord.Z = 0;
trCoord.Subresource = 0;

D3D11_TILE_REGION_SIZE trSize;
trSize.bUseBox = false;
trSize.NumTiles = 63;

3d タイル リソースの最も詳細なマッピング

テクスチャ 3D タイル リソース (2 番目に詳細なミップ)

次のコードでは、2 番目に詳細なミップで 3D タイル リソースを設定しています。

D3D11_TILED_RESOURCE_COORDINATE trCoord;
trCoord.X = 1;
trCoord.Y = 0;
trCoord.Z = 0;
trCoord.Subresource = 1;

D3D11_TILE_REGION_SIZE trSize;
trSize.bUseBox = false;
trSize.NumTiles = 6;

3d タイル リソースの 2 番目に詳細なマッピング

テクスチャ 3D タイル リソース (単一タイル)

次のコードでは、単一タイル リソースを設定しています。

D3D11_TILED_RESOURCE_COORDINATE trCoord;
trCoord.X = 1;
trCoord.Y = 1;
trCoord.Z = 1;
trCoord.Subresource = 0;

D3D11_TILE_REGION_SIZE trSize;
trSize.bUseBox = true;
trSize.NumTiles = 27;
trSize.Width = 3;
trSize.Height = 3;
trSize.Depth = 3;

1 つのタイル

テクスチャ 3D タイル リソース (均一ボックス)

次のコードでは、均一ボックス タイル リソースを設定しています (ステートメント trSize.bUseBox = true;) : に注目してください)。

D3D11_TILED_RESOURCE_COORDINATE trCoord;
trCoord.X = 0;
trCoord.Y = 1;
trCoord.Z = 0;
trCoord.Subresource = 0;

D3D11_TILE_REGION_SIZE trSize;
trSize.bUseBox = true;
trSize.NumTiles = 27;
trSize.Width = 3;
trSize.Height = 3;
trSize.Depth = 3;

均一ボックス

D3D11.3 タイル リソース API

2D と 3D の両方のタイル リソースに対して同じ API 呼び出しが使用されます。

列挙型

構造体

  • D3D11_TILED_RESOURCE_COORDINATE : x、y、z 座標、サブリソース参照を保持します。 ヘルパー クラスがあることに注意してください: CD3D11_TILED_RESOURCE_COORDINATE。
  • D3D11_TILE_REGION_SIZE : タイル領域のサイズとタイルの数を指定します。
  • D3D11_TILE_SHAPE : タイルの図形をテクセルの幅、高さ、深さとして指定します。
  • D3D11_FEATURE_DATA_D3D11_OPTIONS1: サポートされているタイル リソース層レベルを保持します。

メソッド

Direct3D 11.3 の機能