Platform SDK: DirectX

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
廃止。「注意」を参照すること。
dwHeightdwWidth
ピクセル単位で作成しようとするサーフェスのディメンジョン。
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 で宣言。