DDS キューブ マップの例
3 次環境マップの場合、キューブの 1 つ以上の面が圧縮されていない形式または圧縮形式を使用してファイルに書き込まれ、すべての面が同じサイズである必要があります。 各面にはミップマップを定義できますが、すべての面に同じ数のミップマップ レベルが必要です。 ファイルにキューブ マップが含まれている場合は、DDSCAPS_COMPLEX、DDSCAPS2_CUBEMAP、および 1 つ以上の DSCAPS2_CUBEMAP_POSITIVEX/Y/Z および/または DDSCAPS2_CUBEMAP_NEGATIVEX/Y/Z を設定する必要があります。 顔は、正の x、負の x、正の y、負の y、正の z、負の z の順に書き込まれ、欠落している顔は省略されます。 各面にはメイン画像が書き込まれ、その後にミップマップ レベルが続きます。
たとえば、正の x、負の y、正の z 面、DXT1 のピクセル形式、すべてのミップマップ レベルを持つ 256 x 256 キューブ マップには、次のものが含まれます。
DDS コンポーネント | # バイト数 |
---|---|
ヘッダ | 128 |
256×256 正の x 面メイン画像 | 32768 |
128x128の正のX軸ミップマップ画像 | 8192 |
64×64 正の x 面ミップマップ画像 | 2048 |
32×32 正の x 面ミップマップ画像 | 512 |
16×16 正の x 面ミップマップ画像 | 128 |
8×8 正の x 面ミップマップ画像 | 32 |
4×4 正の x 面ミップマップ画像 | 8 |
2×2 正の x 面ミップマップ画像 | 8 |
1×1 正の x 面ミップマップ画像 | 8 |
y ミップマップ画像に対して前の 9 つのレイヤーを繰り返す | 43704 |
z ミップマップ画像に対して前の 9 つのレイヤーを繰り返す | 43704 |
DirectX 8 以降では、キューブ マップは、すべての面が定義された状態で格納されます。
DXGI キューブ マップ
Direct3D 10.x および Direct3D 11 の立方環境マップは、6 つの画像を含む 2D テクスチャ配列と同等であり、DDS ファイルに格納できます。 Direct3D 10.1 と Direct3D 11 では、6 つの画像 (6、12、18、24 など) の倍数を持つ 2D テクスチャ配列であるキューブマップの配列をハードウェアでサポートすることもできます。
たとえば、2D テクスチャ配列として BC6H 形式で格納されたミップマップ レベルを持つ 256 x 256 キューブマップを次に示します。
DDS コンポーネント | # バイト数 |
---|---|
ヘッダー ("DX10" の FourCC) | 128 |
拡張ヘッダー (DXGI 形式が 95 [DXGI_FORMAT_BC6H_UF16]、ディメンション値が 3 [D3Dxx_RESOURCE_DIMENSION_TEXTURE2D]、配列サイズが 1、その他のフラグが 0x4 [D3Dxx_RESOURCE_MISC_TEXTURECUBE] に設定されている) | 20 |
256×256 配列項目 0 (正の x 面) メイン画像 | 65536 |
128×128 配列項目 0 (正の x 面) ミップマップ画像 | 16384 |
64×64 配列項目 0 (正の x 面) ミップマップ画像 | 4096 |
32×32 配列項目 0 (正の x 面) ミップマップ画像 | 1024 |
16×16 配列項目 0 (正の x 面) ミップマップ画像 | 256 |
8×8 配列項目 0 (正の x 面) ミップマップ画像 | 64 |
4×4 配列項目 0 (正の x 面) ミップマップ画像 | 16 |
2×2 配列項目 0 (正の x 面) ミップマップ画像 | 16 |
1×1 配列項目 0 (正の x 面) ミップマップ画像 | 16 |
配列エントリ 1 (負の x) ミップマップ画像に対して前の 9 つのレイヤーを繰り返す | 87408 |
配列エントリ 2 (正の y) ミップマップ画像に対して、前の 9 つのレイヤーを繰り返します | 87408 |
配列エントリ 3 (負の y) ミップマップ画像に対して前の 9 つのレイヤーを繰り返す | 87408 |
配列エントリ 4 (正の z) ミップマップ画像に対して、前の 9 つのレイヤーを繰り返します | 87408 |
配列エントリ 5 (負の z) ミップマップ画像に対して前の 9 つのレイヤーを繰り返す | 87408 |
関連トピック
-
DDS の
プログラミング ガイド