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 構造体と同じです。

要件

要件
ヘッダー
Dds.h

こちらもご覧ください

DDS のリファレンス