DDS_HEADER構造体
DDS ファイル ヘッダーについて説明します。
構文
typedef struct {
DWORD dwSize;
DWORD dwFlags;
DWORD dwHeight;
DWORD dwWidth;
DWORD dwPitchOrLinearSize;
DWORD dwDepth;
DWORD dwMipMapCount;
DWORD dwReserved1[11];
DDS_PIXELFORMAT ddspf;
DWORD dwCaps;
DWORD dwCaps2;
DWORD dwCaps3;
DWORD dwCaps4;
DWORD dwReserved2;
} DDS_HEADER;
メンバー
-
dwSize
-
種類: DWORD
-
構造体のサイズ。 このメンバーは 124 に設定する必要があります。
-
dwFlags
-
種類: DWORD
-
有効なデータを含むメンバーを示すフラグ。
フラグ 説明 値 DDSD_CAPS すべての .dds ファイルで必須。 0x1 DDSD_HEIGHT すべての .dds ファイルで必須。 0x2 DDSD_WIDTH すべての .dds ファイルで必須。 0x4 DDSD_PITCH 非圧縮テクスチャにピッチが指定されている場合に必要です。 0x8 DDSD_PIXELFORMAT すべての .dds ファイルで必須。 0x1000 DDSD_MIPMAPCOUNT mipmapped テクスチャで必要です。 0x20000 DDSD_LINEARSIZE 圧縮テクスチャにピッチが指定されている場合に必要です。 0x80000 DDSD_DEPTH 深度テクスチャで必要です。 0x800000 注意
.dds ファイルを書き込む場合は、DDSD_CAPSフラグとDDSD_PIXELFORMAT フラグを設定する必要があります。また、mipmapped テクスチャの場合は、DDSD_MIPMAPCOUNT フラグも設定する必要があります。 ただし、.dds ファイルを読み取る場合は、このようなファイルの一部のライターがこれらのフラグを設定しない可能性があるため、設定されているDDSD_CAPS、DDSD_PIXELFORMAT、およびDDSD_MIPMAPCOUNTフラグに依存しないでください。
Dds.h で定義されているDDS_HEADER_FLAGS_TEXTURE フラグは、DDSD_CAPS、DDSD_HEIGHT、DDSD_WIDTH、およびDDSD_PIXELFORMAT フラグのビットごとの OR の組み合わせです。
Dds.h で定義されているDDS_HEADER_FLAGS_MIPMAP フラグは、DDSD_MIPMAPCOUNT フラグと等しくなります。
Dds.h で定義されているDDS_HEADER_FLAGS_VOLUME フラグは、DDSD_DEPTH フラグと等しくなります。
Dds.h で定義されているDDS_HEADER_FLAGS_PITCH フラグは、DDSD_PITCH フラグと等しくなります。
Dds.h で定義されているDDS_HEADER_FLAGS_LINEARSIZE フラグは、DDSD_LINEARSIZE フラグと等しくなります。
-
dwHeight
-
種類: DWORD
-
サーフェスの高さ (ピクセル単位)。
-
dwWidth
-
種類: DWORD
-
サーフェスの幅 (ピクセル単位)。
-
dwPitchOrLinearSize
-
種類: DWORD
-
圧縮されていないテクスチャ内のスキャン行あたりのピッチまたはバイト数。圧縮テクスチャの最上位テクスチャの合計バイト数。 ピッチの計算方法については、「DDS プログラミング ガイド」の「 DDS ファイル レイアウト」セクションを参照してください。
-
dwDepth
-
種類: DWORD
-
ボリューム テクスチャの深さ (ピクセル単位)、それ以外の場合は使用されません。
-
dwMipMapCount
-
種類: DWORD
-
mipmap レベルの数。それ以外の場合は使用されません。
-
dwReserved1[11]
-
種類: DWORD
-
未使用。
-
ddspf
-
種類: DDS_PIXELFORMAT
-
ピクセル形式 ( DDS_PIXELFORMATを参照)。
-
dwCaps
-
種類: DWORD
-
格納されるサーフェスの複雑さを指定します。
フラグ 説明 値 DDSCAPS_COMPLEX オプション;は、複数のサーフェス (ミップマップ、立方環境マップ、または mipmapped ボリューム テクスチャ) を含む任意のファイルで使用する必要があります。 0x8 DDSCAPS_MIPMAP オプション;は mipmap に使用する必要があります。 0x400000 DDSCAPS_TEXTURE 必須 0x1000 注意
.dds ファイルを書き込む場合は、DDSCAPS_TEXTURE フラグを設定する必要があります。また、複数のサーフェスの場合は、DDSCAPS_COMPLEX フラグも設定する必要があります。 ただし、.dds ファイルを読み取る場合は、このようなファイルの一部のライターがこれらのフラグを設定しない可能性があるため、設定されているDDSCAPS_TEXTUREフラグとDDSCAPS_COMPLEXフラグに依存しないでください。
Dds.h で定義されているDDS_SURFACE_FLAGS_MIPMAP フラグは、DDSCAPS_COMPLEXフラグとDDSCAPS_MIPMAP フラグのビットごとの OR の組み合わせです。
Dds.h で定義されているDDS_SURFACE_FLAGS_TEXTURE フラグは、DDSCAPS_TEXTURE フラグと等しくなります。
Dds.h で定義されているDDS_SURFACE_FLAGS_CUBEMAP フラグは、DDSCAPS_COMPLEX フラグと等しくなります。
-
dwCaps2
-
種類: DWORD
-
格納されているサーフェスに関する追加の詳細。
フラグ 説明 値 DDSCAPS2_CUBEMAP キューブ マップに必要です。 0x200 DDSCAPS2_CUBEMAP_POSITIVEX これらのサーフェスがキューブ マップに格納されている場合に必要です。 0x400 DDSCAPS2_CUBEMAP_NEGATIVEX これらのサーフェスがキューブ マップに格納されている場合に必要です。 0x800 DDSCAPS2_CUBEMAP_POSITIVEY これらのサーフェスがキューブ マップに格納されている場合に必要です。 0x1000 DDSCAPS2_CUBEMAP_NEGATIVEY これらのサーフェスがキューブ マップに格納されている場合に必要です。 0x2000 DDSCAPS2_CUBEMAP_POSITIVEZ これらのサーフェスがキューブ マップに格納されている場合に必要です。 0x4000 DDSCAPS2_CUBEMAP_NEGATIVEZ これらのサーフェスがキューブ マップに格納されている場合に必要です。 0x8000 DDSCAPS2_VOLUME ボリューム テクスチャに必要です。 0x200000 Dds.h で定義されているDDS_CUBEMAP_POSITIVEX フラグは、DDSCAPS2_CUBEMAPフラグとDDSCAPS2_CUBEMAP_POSITIVEX フラグのビットごとの OR の組み合わせです。
Dds.h で定義されているDDS_CUBEMAP_NEGATIVEX フラグは、DDSCAPS2_CUBEMAPフラグとDDSCAPS2_CUBEMAP_NEGATIVEX フラグのビットごとの OR の組み合わせです。
Dds.h で定義されているDDS_CUBEMAP_POSITIVEY フラグは、DDSCAPS2_CUBEMAPフラグとDDSCAPS2_CUBEMAP_POSITIVEY フラグのビットごとの OR の組み合わせです。
Dds.h で定義されているDDS_CUBEMAP_NEGATIVEY フラグは、DDSCAPS2_CUBEMAPフラグとDDSCAPS2_CUBEMAP_NEGATIVEY フラグのビットごとの OR の組み合わせです。
Dds.h で定義されているDDS_CUBEMAP_POSITIVEZ フラグは、DDSCAPS2_CUBEMAPフラグとDDSCAPS2_CUBEMAP_POSITIVEZ フラグのビットごとの OR の組み合わせです。
Dds.h で定義されているDDS_CUBEMAP_NEGATIVEZ フラグは、DDSCAPS2_CUBEMAPフラグとDDSCAPS2_CUBEMAP_NEGATIVEZ フラグのビットごとの OR の組み合わせです。
Dds.h で定義されているDDS_CUBEMAP_ALLFACES フラグは、DDS_CUBEMAP_POSITIVEX、DDS_CUBEMAP_NEGATIVEX、DDS_CUBEMAP_POSITIVEY、DDS_CUBEMAP_NEGATIVEY、DDS_CUBEMAP_POSITIVEZ、およびDDSCAPS2_CUBEMAP_NEGATIVEZ フラグのビットごとの OR の組み合わせです。
Dds.h で定義されているDDS_FLAGS_VOLUME フラグは、DDSCAPS2_VOLUME フラグと等しくなります。
注意
Direct3D 9 では部分キューブ マップがサポートされていますが、Direct3D 10、10.1、11 では、6 つのキューブ マップ面すべてを定義する必要があります (つまり、DDS_CUBEMAP_ALLFACESを設定する必要があります)。
-
dwCaps3
-
種類: DWORD
-
未使用。
-
dwCaps4
-
種類: DWORD
-
未使用。
-
dwReserved2
-
種類: DWORD
-
未使用。
解説
有効なデータを含む構造体のメンバーの dwFlags にフラグを含めます。
この構造体を DDS_HEADER_DXT10 と組み合わせて使用して、DDS ファイルにリソース配列を格納します。 詳細については、「 テクスチャ配列」を参照してください。
DDS_HEADER は、DirectDraw 依存関係のない DirectDraw DDSURFACEDESC2 構造体と同じです。
要件
要件 | 値 |
---|---|
ヘッダー |
|