キューブ環境マップの DDS ファイルのレイアウト

キューブ環境マップの DDS ファイルのレイアウト

キューブ環境マップの場合は、圧縮フォーマットまたは未圧縮フォーマットを使用してキューブの 1 つ以上の面をファイルに記述する。このとき、すべての面が同じサイズでなければならない。各面にミップマップを定義できるが、すべての面のミップマップ レベルが同じ数字でなければならない。キューブ マップを含むファイルには、DDSCAPS_COMPLEX および DDSCAPS2_CUBEMAP と、DSCAPS2_CUBEMAP_POSITIVEX/Y/Z および DDSCAPS2_CUBEMAP_NEGATIVEX/Y/Z のいずれかまたは両方を設定する必要がある。面は、正方向の x、負方向の x、正方向の y、負方向の y、正方向の z、負方向の z の順番で記述され、無い面は省略される。各面について、まずメイン イメージを記述し、ミップマップが定義されている場合はその後にミップマップ レベルを記述する。

たとえば、正方向の x 面、負方向の y 面、正方向の z 面、DXT1 のピクセル フォーマット、および全ミップマップ レベルを持つ 256 × 256 のキューブ マップは次のものが入る。

"DDS", 
(256, 256),
(linearsize=32768),
(pixel format=DXT1),128 バイト
(TEXTURE, LINEARSIZE, COMPLEX, MIPMAP,  CUBEMAP, POSITIVEX, NEGATIVEY, POSITIVEZ, FOURCC) 
正方向の x 面の 256 × 256 メイン イメージ32768 バイト
正方向の x 面の 128 × 128 ミップマップ イメージ8192 バイト
正方向の x 面の 64 × 64 ミップマップ イメージ2048 バイト
正方向の x 面の 32 × 32 ミップマップ イメージ512 バイト
正方向の x 面の 16 × 16 ミップマップ イメージ128 バイト
正方向の x 面の 8 × 8 ミップマップ イメージ32 バイト
正方向の x 面の 4 × 4 ミップマップ イメージ8 バイト
正方向の x 面の 2 × 2 ミップマップ イメージ8 バイト
正方向の x 面の 1 × 1 ミップマップ イメージ8 バイト
負方向の y 面の 256 × 256 メイン イメージ32768 バイト
負方向の y 面の 128 × 128 ミップマップ イメージ8192 バイト
負方向の y 面の 64 × 64 ミップマップ イメージ2048 バイト
負方向の y 面の 32 × 32 ミップマップ イメージ512 バイト
負方向の y 面の 16 × 16 ミップマップ イメージ128 バイト
負方向の y 面の 8 × 8 ミップマップ イメージ32 バイト
負方向の y 面の 4 × 4 ミップマップ イメージ8 バイト
負方向の y 面の 2 × 2 ミップマップ イメージ8 バイト
負方向の y 面の 1 × 1 ミップマップ イメージ8 バイト
正方向の z 面の 256 × 256 メイン イメージ32768 バイト
正方向の z 面の 128 × 128 ミップマップ イメージ8192 バイト
正方向の z 面の 64 × 64 ミップマップ イメージ2048 バイト
正方向の z 面の 32 × 32 ミップマップ イメージ512 バイト
正方向の z 面の 16 × 16 ミップマップ イメージ128 バイト
正方向の z 面の 8 × 8 ミップマップ イメージ32 バイト
正方向の z 面の 4 × 4 ミップマップ イメージ8 バイト
正方向の z 面の 2 × 2 ミップマップ イメージ8 バイト
正方向の z 面の 1 × 1 ミップマップ イメージ8 バイト

  Microsoft® DirectX® 8.0 からは、キューブ マップを記述するときは必ずすべての面を定義する。