(ddraw.h) DDSURFACEDESC2 结构

DDSURFACEDESC2 结构包含驱动程序要创建的图面的说明。

语法

typedef struct _DDSURFACEDESC2 {
  DWORD      dwSize;
  DWORD      dwFlags;
  DWORD      dwHeight;
  DWORD      dwWidth;
#if ...
  union {
    LONG  lPitch;
    DWORD dwLinearSize;
  } DUMMYUNIONNAMEN;
#elif
  union {
    DWORD dwBackBufferCount;
    DWORD dwDepth;
  } DUMMYUNIONNAMEN;
#elif
  union {
    DWORD dwMipMapCount;
    DWORD dwRefreshRate;
    DWORD dwSrcVBHandle;
  } DUMMYUNIONNAMEN;
  DWORD      dwAlphaBitDepth;
  DWORD      dwReserved;
  LPVOID     lpSurface;
#elif
  union {
    DDCOLORKEY ddckCKDestOverlay;
    DWORD      dwEmptyFaceColor;
  } DUMMYUNIONNAMEN;
  DDCOLORKEY ddckCKDestBlt;
  DDCOLORKEY ddckCKSrcOverlay;
  DDCOLORKEY ddckCKSrcBlt;
#else
  union {
    DDPIXELFORMAT ddpfPixelFormat;
    DWORD         dwFVF;
  } DUMMYUNIONNAMEN;
#endif
  DDSCAPS2   ddsCaps;
  DWORD      dwTextureStage;
} *LPDDSURFACEDESC2, DDSURFACEDESC2;

成员

dwSize

指定此DDSURFACEDESC2结构的大小(以字节为单位)。 在使用 结构之前,必须初始化此成员。

dwFlags

指定一组标志,用于确定DDSURFACEDESC2结构的哪些成员包含有效数据。 此成员可以是以下一个或多个标志:

标志 含义

DDSD_ALL

所有输入成员都包含有效数据。

DDSD_ALPHABITDEPTH

dwAlphaBitDepth 成员有效。

DDSD_BACKBUFFERCOUNT

dwBackBufferCount 成员有效。

DDSD_CAPS

ddsCaps 成员有效。

DDSD_CKDESTBLT

ddckDestBlt 成员有效。

DDSD_CKDESTOVERLAY

ddckDestOverlay 成员有效。

DDSD_CKSRCBLT

ddckSrcBlt 成员有效。

DDSD_CKSRCOVERLAY

ddckSrcOverlay 成员有效。

DDSD_FVF

dwFVF 成员有效。

DDSD_HEIGHT

dwHeight 成员有效。

DDSD_LINEARSIZE

dwLinearSize 成员有效。

DDSD_LPSURFACE

lpSurface 成员有效。

DDSD_MIPMAPCOUNT

dwMipMapCount 成员有效。

DDSD_PITCH

lPitch 成员有效。

DDSD_PIXELFORMAT

ddpfPixelFormat 成员有效。

DDSD_REFRESHRATE

dwRefreshRate 成员有效。

DDSD_SRCVBHANDLE

dwSrcVBHandle 成员有效。

DDSD_TEXTURESTAGE

dwTextureStage 成员有效。

DDSD_WIDTH

dwWidth 成员有效。

DDSD_ZBUFFERBITDEPTH

DDSURFACEDESC2中未使用此标志。 它仅用于 DDSURFACEDESC

dwHeight

指定图面的高度(以像素为单位)。

dwWidth

指定图面的宽度(以像素为单位)。

DUMMYUNIONNAMEN

不可用

DUMMYUNIONNAMEN.lPitch

指定两个相邻扫描行的开头之间的字节数;也就是说,要添加到一个扫描行的起始地址以到达其下方下一个扫描行的起始地址的字节数。 驱动程序的 DdCreateSurface 回调必须返回此值。

DUMMYUNIONNAMEN.dwLinearSize

指定无格式、后期分配的优化图面的大小(以字节为单位)。

DUMMYUNIONNAMEN.dwBackBufferCount

指定与图面关联的后台缓冲区数。

DUMMYUNIONNAMEN.dwDepth

如果这是一个体积纹理,则为位深度。

DUMMYUNIONNAMEN.dwMipMapCount

指定 mipmap 级别的数目。

DUMMYUNIONNAMEN.dwRefreshRate

指定在描述显示模式) 时使用的监视器 (的刷新率(以赫为单位)。

DUMMYUNIONNAMEN.dwSrcVBHandle

指定 Microsoft Direct3D SDK 文档) 中所述 的 IDirect3DVertexBuffer7::Optimize (中使用的源。

dwAlphaBitDepth

指定 alpha 缓冲区的深度(以每像素位数为单位)。

dwReserved

保留,应设置为零。

lpSurface

指定关联 Surface 内存的地址。

DUMMYUNIONNAMEN.ddckCKDestOverlay

指定目标覆盖使用的颜色键。

DUMMYUNIONNAMEN.dwEmptyFaceColor

指定空立方体映射面的物理颜色。

ddckCKDestBlt

指定目标 blit 使用的颜色键。

ddckCKSrcOverlay

指定源覆盖使用的颜色键。

ddckCKSrcBlt

指定源 blit 使用的颜色键。

DUMMYUNIONNAMEN.ddpfPixelFormat

指定描述图面像素格式的 DDPIXELFORMAT 结构。

DUMMYUNIONNAMEN.dwFVF

指定顶点缓冲区的灵活顶点格式 (D3DFVF) 。

ddsCaps

指定包含 DirectDraw 图面功能的 DDSCAPS 结构。

dwTextureStage

指定多文本级联中的阶段。 有关详细信息,请参阅 纹理阶段

注解

每种潜在类型的图面的相关成员各不相同。 此结构通常由应用程序创建和初始化。

要求

要求
Header ddraw.h

另请参阅