(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 |