DDSURFACEDESC2
DDSURFACEDESC2 構造体は、サーフェスの記述を含む。この構造体は、サーフェス パラメータを IDirectDraw7::CreateSurface および IDirectDrawSurface7::SetSurfaceDesc メソッドに渡すために使用される。この構造体は、また、IDirectDrawSurface7::Lock および IDirectDrawSurface7::GetSurfaceDesc の呼び出しでサーフェス情報を取得するために使用される。関係するメンバは、サーフェスの個々のタイプにより異なる。
typedef struct _DDSURFACEDESC2 {
DWORD dwSize;
DWORD dwFlags;
DWORD dwHeight;
DWORD dwWidth;
union
{
LONG lPitch;
DWORD dwLinearSize;
} DUMMYUNIONNAMEN(1);
DWORD dwBackBufferCount;
union
{
DWORD dwMipMapCount;
DWORD dwRefreshRate;
} DUMMYUNIONNAMEN(2);
DWORD dwAlphaBitDepth;
DWORD dwReserved;
LPVOID lpSurface;
union
{
DDCOLORKEY ddckCKDestOverlay;
DWORD dwEmptyFaceColor;
} DUMMYUNIONNAMEN(3);
DDCOLORKEY ddckCKDestBlt;
DDCOLORKEY ddckCKSrcOverlay;
DDCOLORKEY ddckCKSrcBlt;
DDPIXELFORMAT ddpfPixelFormat;
DDSCAPS2 ddsCaps;
DWORD dwTextureStage;
} DDSURFACEDESC2, FAR* LPDDSURFACEDESC2;
メンバ
- dwSize
- バイト単位の構造体のサイズ。このメンバは、構造体を使用する前に初期化しなくてはならない。
- dwFlags
- オプション制御フラグ。以下のフラグのうち、1 つ以上の値を取る。
- DDSD_ALL
- 入力メンバはすべて有効である。
- DDSD_ALPHABITDEPTH
- dwAlphaBitDepth メンバは有効である。
- DDSD_BACKBUFFERCOUNT
- dwBackBufferCount メンバは有効である。
- DDSD_CAPS
- ddsCaps メンバは有効である。
- DDSD_CKDESTBLT
- ddckCKDestBlt メンバは有効である。
- DDSD_CKDESTOVERLAY
- ddckCKDestOverlay メンバは有効である。
- DDSD_CKSRCBLT
- ddckCKSrcBlt メンバは有効である。
- DDSD_CKSRCOVERLAY
- ddckCKSrcOverlay メンバは有効である。
- DDSD_HEIGHT
- dwHeight メンバは有効である。
- DDSD_LINEARSIZE
- dwLinearSize メンバは有効である。
- DDSD_LPSURFACE
- IpSurface メンバは有効である。
- DDSD_MIPMAPCOUNT
- dwMipMapCount メンバは有効である。
- DDSD_PITCH
- IPitch メンバは有効である。
- DDSD_PIXELFORMAT
- ddpfPixelFormat メンバは有効である。
- DDSD_REFRESHRATE
- dwRefreshRate メンバは有効である。
- DDSD_TEXTURESTAGE
- dwTextureStage メンバは有効である。
- DDSD_WIDTH
- dwWidth メンバは有効である。
- DDSD_ZBUFFERBITDEPTH
- 廃止。「注意」を参照すること。
- dwHeight、dwWidth
- ピクセル単位で作成しようとするサーフェスのディメンジョン。
- lPitch
- 次のラインの開始までのバイト単位の距離。IDirectDrawSurface7::GetSurfaceDesc メソッドを使用する場合、これは戻り値となる。IDirectDrawSurface7::SetSurfaceDesc メソッドと使用する場合、これは入力値となる。この入力値は DWORD の倍数でなくてはならない。詳細情報は注意を参照すること。
- dwLinearSize
- バッファのサイズ。現時点では、圧縮されたテクスチャサーフェスのためだけに返される。
- dwBackBufferCount
- バック バッファの数。
- dwMipMapCount
- ミップマップ レベルの数。
- dwRefreshRate
- リフレッシュ レート (ディスプレイ モードを記述する場合に使用)。この値が 0 の場合、アダプタ デフォルトを示す。
- dwAlphaBitDepth
- アルファ バッファの深度。
- dwReserved
- 将来的な使用のために確保されている。
- lpSurface
- 関連付けられたサーフェス メモリのアドレス。IDirectDrawSurface7::Lock を呼び出す場合、このメンバはサーフェス メモリへの有効なポインタとなる。IDirectDrawSurface7::SetSurfaceDesc を呼び出す場合、このメンバは呼び出し側が DirectDrawSurface オブジェクトに明示的に割り当てるシステム メモリへのポインタとなる。詳細情報は注意を参照すること。
- ddckCKDestOverlay
- オーバーレイ サーフェスの転送先カラー キーを記述する DDCOLORKEY 構造体。
- dwEmptyFaceColor
- 空のキューブマップ面の物理的な色。
- ddckCKDestBlt
- ブリット処理の転送先カラー キーを記述する DDCOLORKEY 構造体。
- ddckCKSrcOverlay
- オーバーレイ サーフェスの転送元カラー キーを記述する DDCOLORKEY 構造体。
- ddckCKSrcBlt
- ブリット処理の転送元カラー キーを記述する DDCOLORKEY 構造体。
- ddpfPixelFormat
- サーフェスのピクセル フォーマットを記述する DDPIXELFORMAT 構造体。
- ddsCaps
- サーフェスの能力を含む DDSCAPS2 構造体。
- dwTextureStage
- マルチテクスチャ カスケード 3D デバイスの特定のステージにテクスチャをバインドするために使用するステージ識別子。すべてのハードウェアに必要ではないが、このメンバの設定は 3-D アクセラレータの多様性に対して、最適なパフォーマンスを与える。明示的に割り当てられたテクスチャを要求するハードウェアは、IDirect3DDevice7::GetCaps メソッドで値を設定する D3DDEVICEDESC 構造体の D3DDEVCAPS_SEPARATETEXTUREMEMORIES 3-D デバイス能力を公開する。
注意
IDirectDrawSurface7::GetSurfaceDesc メソッドを呼び出す場合、lPitch および lpSurface メンバは出力値となる。既存のメモリからサーフェスを作成したり、サーフェス特性を更新している場合、これらのメンバは入力値となる。この入力値は、DirectDraw で使用される呼び出し側のアプリケーションにより割り当てられたメモリのピッチと位置を記述する。DirectDraw は、アプリケーションが割り当てたメモリを管理したり解放しようとしない。詳細については、「クライアント メモリ サーフェスの作成」および「サーフェス特性の更新」を参照すること。
この構造体は DDSURFACEDESC 構造体とほぼ同じであるが、DDSCAPS2 構造体を ddsCaps メンバとして含む。DDSURFACEDESC とは異なり、この構造体は dwZBufferBitDepth メンバを含まない。Z バッファ深度は、ddpfPixelFormat メンバで提供される。
この構造体の集合は、名前のない集合をサポートしないコンパイラでも機能する。コンパイラが名前のない集合をサポートしない場合は、Ddraw.h ヘッダー ファイルをインクルードする前に NONAMELESSUNION トークンを定義する。
Windows NT/2000 :Windows 2000 が必要。
Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
ヘッダー : ddraw.h で宣言。