DDCAPS_DX3 结构 (ddraw.h)
DDCAPS 结构表示通过 DirectDraw 对象公开的硬件的功能。 此结构包含在此上下文中使用的 DDSCAPS2 结构,用于描述可以创建哪些类型的 DirectDrawSurface 对象。 可能无法同时创建这些功能描述的所有图面。 此结构与 IDirectDraw7::GetCaps 方法一起使用。
Ddraw.h 头文件包含此结构的多个版本, (例如DDCAPS_DX7) 。 有关如何确定要使用的版本的详细信息,请参阅备注。
语法
typedef struct _DDCAPS_DX3 {
DWORD dwSize;
DWORD dwCaps;
DWORD dwCaps2;
DWORD dwCKeyCaps;
DWORD dwFXCaps;
DWORD dwFXAlphaCaps;
DWORD dwPalCaps;
DWORD dwSVCaps;
DWORD dwAlphaBltConstBitDepths;
DWORD dwAlphaBltPixelBitDepths;
DWORD dwAlphaBltSurfaceBitDepths;
DWORD dwAlphaOverlayConstBitDepths;
DWORD dwAlphaOverlayPixelBitDepths;
DWORD dwAlphaOverlaySurfaceBitDepths;
DWORD dwZBufferBitDepths;
DWORD dwVidMemTotal;
DWORD dwVidMemFree;
DWORD dwMaxVisibleOverlays;
DWORD dwCurrVisibleOverlays;
DWORD dwNumFourCCCodes;
DWORD dwAlignBoundarySrc;
DWORD dwAlignSizeSrc;
DWORD dwAlignBoundaryDest;
DWORD dwAlignSizeDest;
DWORD dwAlignStrideAlign;
DWORD dwRops[DD_ROP_SPACE];
DDSCAPS ddsCaps;
DWORD dwMinOverlayStretch;
DWORD dwMaxOverlayStretch;
DWORD dwMinLiveVideoStretch;
DWORD dwMaxLiveVideoStretch;
DWORD dwMinHwCodecStretch;
DWORD dwMaxHwCodecStretch;
DWORD dwReserved1;
DWORD dwReserved2;
DWORD dwReserved3;
DWORD dwSVBCaps;
DWORD dwSVBCKeyCaps;
DWORD dwSVBFXCaps;
DWORD dwSVBRops[DD_ROP_SPACE];
DWORD dwVSBCaps;
DWORD dwVSBCKeyCaps;
DWORD dwVSBFXCaps;
DWORD dwVSBRops[DD_ROP_SPACE];
DWORD dwSSBCaps;
DWORD dwSSBCKeyCaps;
DWORD dwSSBFXCaps;
DWORD dwSSBRops[DD_ROP_SPACE];
DWORD dwReserved4;
DWORD dwReserved5;
DWORD dwReserved6;
} DDCAPS_DX3;
成员
dwSize
结构的大小(以字节为单位)。 必须先初始化此成员,然后才能使用结构。
dwCaps
此值由以下一个或多个指定硬件和驱动程序功能的标志组成。
DDCAPS_3D
显示硬件具有三维加速。
DDCAPS_ALIGNBOUNDARYDEST
DirectDraw 仅支持那些 x 轴与图面的 dwAlignBoundaryDest 边界对齐的目标覆盖矩形。
DDCAPS_ALIGNBOUNDARYSRC
DirectDraw 仅支持那些 x 轴与图面的 dwAlignBoundarySrc 边界对齐的覆盖源矩形。
DDCAPS_ALIGNSIZEDEST
DirectDraw 仅支持 x 轴大小(以像素为单位)为 dwAlignSizeDest 倍数的覆盖目标矩形。
DDCAPS_ALIGNSIZESRC
DirectDraw 仅支持 x 轴大小(以像素为单位)为 dwAlignSizeSrc 倍数的覆盖源矩形。
DDCAPS_ALIGNSTRIDE
DirectDraw 创建步幅对齐方式等于 dwAlignStrideAlign 值的显示内存图面。
DDCAPS_ALPHA
显示硬件支持仅限 alpha 的表面。
DDCAPS_BANKSWITCHED
显示硬件是银行交换的,在随机访问显示内存时可能会非常慢。
DDCAPS_BLT
显示硬件能够进行位块传输 (bitblt) 操作。
DDCAPS_BLTCOLORFILL
显示硬件能够用光片填充颜色。
DDCAPS_BLTDEPTHFILL
显示硬件能够使用分片深度填充 z 缓冲区。
DDCAPS_BLTFOURCC
显示硬件能够在 bitblt 操作期间进行颜色空间转换。
DDCAPS_BLTQUEUE
显示硬件能够执行异步 bitblt 操作。
DDCAPS_BLTSTRETCH
显示硬件能够在 bitblt 操作期间进行拉伸。
DDCAPS_CANBLTSYSMEM
显示硬件能够与系统内存进行分流。
DDCAPS_CANCLIP
显示硬件能够使用 blitting 进行剪辑。
DDCAPS_CANCLIPSTRETCHED
显示硬件能够在拉伸时进行剪裁。
DDCAPS_COLORKEY
支持覆盖或 bitblt 操作中的某种颜色键。 可以在 dwCKeyCaps 成员中找到更具体的颜色键功能信息。
DDCAPS_COLORKEYHWASSIST
颜色键部分由硬件辅助。 这意味着可以使用 (CPU 或视频内存) 的其他资源。 如果未设置此位,则会提供完整的硬件支持。
DDCAPS_GDI
显示硬件与 GDI 共享。
DDCAPS_NOHARDWARE
没有硬件支持。
DDCAPS_OVERLAY
显示硬件支持覆盖。
DDCAPS_OVERLAYCANTCLIP
显示硬件支持覆盖,但不能剪裁它们。
DDCAPS_OVERLAYFOURCC
覆盖硬件能够在覆盖操作期间进行颜色空间转换。
DDCAPS_OVERLAYSTRETCH
覆盖硬件能够拉伸。 dwMinOverlayStretch 和 dwMaxOverlayStretch 成员包含有效数据。
DDCAPS_PALETTE
DirectDraw 能够为主图面以外的表面创建和支持 DirectDrawPalette 对象。
DDCAPS_PALETTEVSYNC
DirectDraw 能够更新与垂直刷新同步的调色板。
DDCAPS_READSCANLINE
显示硬件能够返回当前扫描线。
DDCAPS_VBI
显示硬件能够生成垂直空白中断。
DDCAPS_ZBLTS
支持将 z 缓冲区与 bitblt 运算配合使用。
DDCAPS_ZOVERLAYS
支持使用 IDirectDrawSurface7::UpdateOverlayZOrder 方法作为覆盖层的 z 值来控制其分层。
dwCaps2
此值由以下一个或多个指定更多硬件和驱动程序功能的标志组成。
DDCAPS2_AUTOFLIPOVERLAY
每次发生视频端口 VSYNC 时,覆盖层都可以自动翻转到翻转链中的下一个图面,从而允许视频端口和覆盖层对视频进行双重缓冲,而无需 CPU 开销。 仅当 Surface 从视频端口接收数据时,此选项才有效。 如果视频端口数据是非隔行或非交错的,它会在每个 VSYNC 上翻转。 如果数据在内存中交错,它将在所有其他 VSYNC 上翻转。
DDCAPS2_CANBOBHARDWARE
覆盖硬件可以单独显示交错视频流的每个字段。
DDCAPS2_CANBOBINTERLEAVED
覆盖硬件可以在交错在内存中时单独显示交错视频流的每个字段,而不会导致在没有特殊硬件支持的情况下通常可能发生的任何项目。 仅当图面从视频端口接收数据并且视频在垂直方向上至少缩放两次时,此选项才有效。
DDCAPS2_CANBOBNONINTERLEAVED
覆盖硬件可以在不交错在内存中时单独显示交错视频流的每个字段,而不会导致在没有特殊硬件支持的情况下通常可能发生的任何项目。 仅当图面从视频端口接收数据并且视频在垂直方向上至少缩放两次时,此选项才有效。
DDCAPS2_CANCALIBRATEGAMMA
系统安装了一个校准器,该校准器可以自动调整伽玛斜率,以便在具有校准器的所有系统上的结果相同。 若要在设置新的伽玛级别时调用校准器,请在调用 IDirectDrawGammaControl::SetGammaRamp 方法时使用 DDSGR_CALIBRATE 标志。 校准伽玛渐变会产生一些处理开销,不应经常使用。
DDCAPS2_CANDROPZ16BIT
可以将 16 位 RGBZ 值转换为 16 位 RGB 值。 (系统不支持 8 位转换。)
DDCAPS2_CANFLIPODDEVEN
驱动程序能够执行由DDFLIP_ODD和DDFLIP_EVEN标志指定的奇数和偶翻转操作,这些标志与 IDirectDrawSurface7::Flip 方法一起使用。
DDCAPS2_CANMANAGETEXTURE
Direct3D 纹理管理器使用此功能决定是否将托管图面置于非局部视频内存中。 如果设置了该功能,纹理管理器会将托管图面置于非局部视频内存中。 无法从本地视频内存纹理的驱动程序不应设置此功能。
DDCAPS2_CANRENDERWINDOWED
驱动程序能够在窗口模式下呈现。
DDCAPS2_CERTIFIED
显示硬件已通过认证。
DDCAPS2_COLORCONTROLPRIMARY
主图面包含颜色控件 (例如 gamma) 。
DDCAPS2_COLORCONTROLOVERLAY
覆盖图面包含颜色控件 (,例如亮度和锐度) 。
DDCAPS2_COPYFOURCC
驱动程序支持将任何 FOURCC 图面分条到同一 FOURCC 的另一个图面。
DDCAPS2_FLIPINTERVAL
驱动程序响应 DDFLIP_INTERVAL* 标志。 (有关这些标志的详细信息,请参阅 IDirectDrawSurface7::Flip) 。
DDCAPS2_FLIPNOVSYNC
驱动程序响应 DDFLIP_NOVSYNC 标志 (有关此标志的详细信息,请参阅 IDirectDrawSurface7::Flip) 。
DDCAPS2_NO2DDURING3DSCENE
在调用 BeginScene 和 EndScene 方法之间,无法在 Direct3D 使用的任何表面上执行 IDirectDrawSurface7::Blt 和 IDirectDrawSurface7::Lock 等二维操作。
DDCAPS2_NONLOCALVIDMEM
显示驱动程序支持非本地视频内存中的图面。
DDCAPS2_NONLOCALVIDMEMCAPS
非局部视频内存图面的 Bitblt 功能不同于本地视频内存图面。 如果存在此标志,则DDCAPS2_NONLOCALVIDMEM标志也存在。
DDCAPS2_NOPAGELOCKREQUIRED
未进行页面锁定的系统内存图面支持 DMA bitblt 操作。
DDCAPS2_PRIMARYGAMMA
支持主图面的动态伽玛渐变。
DDCAPS2_STEREO
DirectX 7.0 的新增功能。 打开 dwSVCaps 位以支持立体声模式。 驱动程序可以在当前模式以外的至少一种模式下进行立体声。 应用程序可以使用 IDirectDraw7::GetDisplayMode 或 IDirectDraw7::EnumDisplayModes 获取每模式立体声信息。
DDCAPS2_TEXMANINNONLOCALVIDMEM
DirectX 7.0 的新增功能。 Direct3D 纹理管理器使用此功能决定是否将托管图面置于非局部视频内存中。 如果设置了该功能,纹理管理器会将托管图面置于非局部视频内存中。 无法从本地视频内存纹理的驱动程序不应设置此功能。
DDCAPS2_VIDEOPORT
显示硬件支持实时视频。
DDCAPS2_WIDESURFACES
显示图面支持比主图面宽的图面。
dwCKeyCaps
此值由以下一个或多个指定颜色键功能的标志组成。
DDCKEYCAPS_DESTBLT
支持使用颜色键进行透明分化,该颜色键标识 RGB 颜色的目标图面的可替换位。
DDCKEYCAPS_DESTBLTCLRSPACE
支持使用颜色空间的透明分条,该颜色空间标识 RGB 颜色的目标图面的可替换位。
DDCKEYCAPS_DESTBLTCLRSPACEYUV
支持使用颜色空间的透明分条,该颜色空间标识目标图面的可替换位,以便使用 YUV 颜色。
DDCKEYCAPS_DESTBLTYUV
支持使用颜色键进行透明分化,该颜色键标识 YUV 颜色的目标图面的可替换位。
DDCKEYCAPS_DESTOVERLAY
支持通过颜色键控制覆盖要叠加 RGB 颜色的目标图面的可替换位进行覆盖。
DDCKEYCAPS_DESTOVERLAYCLRSPACE
支持将颜色空间作为 RGB 颜色目标的颜色键。
DDCKEYCAPS_DESTOVERLAYCLRSPACEYUV
支持将颜色空间作为 YUV 颜色目标的颜色键。
DDCKEYCAPS_DESTOVERLAYONEACTIVE
对于可见覆盖图面,仅支持一个活动目标颜色键值。
DDCKEYCAPS_DESTOVERLAYYUV
支持叠加,使用目标图面的可替换位的颜色键控制来叠加 YUV 颜色。
DDCKEYCAPS_NOCOSTOVERLAY
指示将颜色键与覆盖层一起使用时没有带宽权衡。
DDCKEYCAPS_SRCBLT
支持透明分条,将源的颜色键用于此图面的 RGB 颜色。
DDCKEYCAPS_SRCBLTCLRSPACE
支持透明分条,将颜色空间用于源,此图面用于 RGB 颜色。
DDCKEYCAPS_SRCBLTCLRSPACEYUV
支持透明分条,将颜色空间用于源,此图面用于 YUV 颜色。
DDCKEYCAPS_SRCBLTYUV
支持透明分条,将源的颜色键与此图面用于 YUV 颜色。
DDCKEYCAPS_SRCOVERLAY
支持叠加,将源的颜色键与 RGB 颜色的覆盖图面配合使用。
DDCKEYCAPS_SRCOVERLAYCLRSPACE
支持叠加,使用颜色空间作为 RGB 颜色覆盖图面的源颜色键。
DDCKEYCAPS_SRCOVERLAYCLRSPACEYUV
支持叠加,使用颜色空间作为 YUV 颜色覆盖图面的源颜色键。
DDCKEYCAPS_SRCOVERLAYONEACTIVE
对于可见覆盖图面,仅支持一个活动源颜色键值。
DDCKEYCAPS_SRCOVERLAYYUV
支持叠加,将源的颜色键与 YUV 颜色的覆盖图面配合使用。
dwFXCaps
此值由以下一个或多个指定驱动程序拉伸和效果功能的标志组成。
DDFXCAPS_BLTALPHA
支持 alpha 混合 bitblt 运算。
DDFXCAPS_BLTARITHSTRETCHY
在 bitblt 运算期间,使用算术运算而不是像素加倍技术来拉伸和收缩图面。 沿 y 轴 (垂直) 发生。
DDFXCAPS_BLTARITHSTRETCHYN
在 bitblt 运算期间,使用算术运算而不是像素加倍技术来拉伸和收缩图面。 沿 y 轴 (垂直) 发生,仅适用于整数拉伸 (× 1、×2 等) 。
DDFXCAPS_BLTFILTER
驱动程序可以对扭曲的 bitblt 执行表面重建筛选。
DDFXCAPS_BLTMIRRORLEFTRIGHT
支持在 bitblt 操作中从左到右镜像。
DDFXCAPS_BLTMIRRORUPDOWN
支持在 bitblt 操作中从上到下镜像。
DDFXCAPS_BLTROTATION
支持 bitblt 操作中的任意旋转。
DDFXCAPS_BLTROTATION90
支持 bitblt 运算中的 90 度旋转。
DDFXCAPS_BLTSHRINKX
支持沿 x 轴任意收缩图面, (水平) 。 此标志仅对 bitblt 操作有效。
DDFXCAPS_BLTSHRINKXN
支持沿 x 轴 (水平) 图面的整数收缩 (× 1、×2 等) 。 此标志仅对 bitblt 操作有效。
DDFXCAPS_BLTSHRINKY
支持沿 y 轴任意收缩图面, (垂直) 。 此标志仅对 bitblt 操作有效。
DDFXCAPS_BLTSHRINKYN
支持沿 y 轴 (垂直) 图面的整数收缩 (× 1、×2 等) 。 此标志仅对 bitblt 操作有效。
DDFXCAPS_BLTSTRETCHX
支持沿 x 轴的任意拉伸图面 (水平) 。 此标志仅对 bitblt 操作有效。
DDFXCAPS_BLTSTRETCHXN
支持沿 x 轴 (水平) 图面的整数拉伸 (× 1、×2 等) 。 此标志仅对 bitblt 操作有效。
DDFXCAPS_BLTSTRETCHY
支持沿 y 轴任意拉伸图面, (垂直) 。 此标志仅对 bitblt 操作有效。
DDFXCAPS_BLTSTRETCHYN
支持沿 y 轴 (垂直) 图面的整数拉伸 (× 1、×2 等) 。 此标志仅对 bitblt 操作有效。
DDFXCAPS_BLTTRANSFORM
支持 (或扭曲) 的几何转换。 显式 bitblt 操作当前不支持转换。
DDFXCAPS_OVERLAYALPHA
支持覆盖图面的 alpha 混合。
DDFXCAPS_OVERLAYARITHSTRETCHY
使用算术运算而不是像素加倍技术来拉伸和收缩覆盖图面。 沿 y 轴 (垂直) 发生。
DDFXCAPS_OVERLAYARITHSTRETCHYN
使用算术运算而不是像素加倍技术来拉伸和收缩覆盖图面。 沿 y 轴 (垂直) 发生,仅适用于整数拉伸 (× 1、×2 等) 。
DDFXCAPS_OVERLAYFILTER
支持扭曲覆盖子画面的图面重建筛选。 显式显示的覆盖图面当前不支持筛选, (调用 IDirectDrawSurface7::UpdateOverlay) 显示的覆盖图面。
DDFXCAPS_OVERLAYMIRRORLEFTRIGHT
支持跨纵轴的覆盖镜像。
DDFXCAPS_OVERLAYMIRRORUPDOWN
支持跨水平轴的覆盖镜像。
DDFXCAPS_OVERLAYSHRINKX
支持沿 x 轴任意收缩图面, (水平) 。 此标志仅对DDSCAPS_OVERLAY图面有效。 此标志仅指示图面的功能;它并不指示收缩可用。
DDFXCAPS_OVERLAYSHRINKXN
支持沿 x 轴 (水平) 图面的整数收缩 (× 1、×2 等) 。 此标志仅对DDSCAPS_OVERLAY图面有效。 此标志仅指示图面的功能;它并不指示收缩可用。
DDFXCAPS_OVERLAYSHRINKY
支持沿 y 轴任意收缩图面, (垂直) 。 此标志仅对DDSCAPS_OVERLAY图面有效。 此标志仅指示图面的功能;它并不指示收缩可用。
DDFXCAPS_OVERLAYSHRINKYN
支持沿 y 轴 (垂直) 图面的整数收缩 (× 1、×2 等) 。 此标志仅对DDSCAPS_OVERLAY图面有效。 此标志仅指示图面的功能;它并不指示收缩可用。
DDFXCAPS_OVERLAYSTRETCHX
支持沿 x 轴的任意拉伸图面 (水平) 。 此标志仅对DDSCAPS_OVERLAY图面有效。 此标志仅指示图面的功能;它并不表示拉伸可用。
DDFXCAPS_OVERLAYSTRETCHXN
支持沿 x 轴 (水平) 图面的整数拉伸 (× 1、×2 等) 。 此标志仅对DDSCAPS_OVERLAY图面有效。 此标志仅指示图面的功能;它并不表示拉伸可用。
DDFXCAPS_OVERLAYSTRETCHY
支持沿 y 轴任意拉伸图面, (垂直) 。 此标志仅对DDSCAPS_OVERLAY图面有效。 此标志仅指示图面的功能;它并不表示拉伸可用。
DDFXCAPS_OVERLAYSTRETCHYN
支持沿 y 轴 (垂直) 图面的整数拉伸 (× 1、×2 等) 。 此标志仅对DDSCAPS_OVERLAY图面有效。 此标志仅指示图面的功能;它并不表示拉伸可用。
DDFXCAPS_OVERLAYTRANSFORM
支持覆盖子画面的几何转换 (或扭曲) 。 显式显示的覆盖图面当前不支持转换, (通过调用 IDirectDrawSurface7::UpdateOverlay) 显示的图面。
dwFXAlphaCaps
此值由以下一个或多个指定驱动程序 alpha 功能的标志组成。
DDFXALPHACAPS_BLTALPHAEDGEBLEND
支持围绕源颜色键的图面边缘进行 alpha 混合。 用于 bitblt 操作。
DDFXALPHACAPS_BLTALPHAPIXELS
支持像素格式的 alpha 信息。 以像素格式表示的 alpha 信息的位深度可以是 1、2、4 或 8。 随着 alpha 值的增加,alpha 值变得更加不透明。 无论 alpha 信息的深度如何,0 始终是完全透明的值。 用于 bitblt 操作。
DDFXALPHACAPS_BLTALPHAPIXELSNEG
支持像素格式的 alpha 信息。 以像素格式表示的 alpha 信息的位深度可以是 1、2、4 或 8。 随着 alpha 值的增加,alpha 值变得更加透明。 无论 alpha 信息的深度如何,0 始终是完全不透明的值。 仅当设置了DDCAPS_ALPHA时,才能使用此标志。 用于 bitblt 操作。
DDFXALPHACAPS_BLTALPHASURFACES
支持仅限 alpha 的图面。 仅限 alpha 的图面的位深度可以是 1、2、4 或 8。 随着 alpha 值的增加,alpha 值变得更加不透明。 无论 alpha 信息的深度如何,0 始终是完全透明的值。 用于 bitblt 操作。
DDFXALPHACAPS_BLTALPHASURFACESNEG
指示 alpha 通道随着 alpha 值的增加而变得更加透明。 alpha 通道数据的深度可以是 1、2、4 或 8。 无论 alpha 信息的深度如何,0 始终是完全不透明的值。 仅当已设置DDCAPS_ALPHA时,才能设置此标志。 用于 bitblt 操作。
DDFXALPHACAPS_OVERLAYALPHAEDGEBLEND
支持围绕源颜色键的图面边缘进行 alpha 混合。 用于覆盖。
DDFXALPHACAPS_OVERLAYALPHAPIXELS
支持像素格式的 alpha 信息。 以像素格式表示的 alpha 信息的位深度可以是 1、2、4 或 8。 随着 alpha 值的增加,alpha 值变得更加不透明。 无论 alpha 信息的深度如何,0 始终是完全透明的值。 用于覆盖。
DDFXALPHACAPS_OVERLAYALPHAPIXELSNEG
支持像素格式的 alpha 信息。 以像素格式表示的 alpha 信息的位深度可以是 1、2、4 或 8。 随着 alpha 值的增加,alpha 值变得更加透明。 无论 alpha 信息的深度如何,0 始终是完全不透明的值。 仅当设置了DDCAPS_ALPHA时,才能使用此标志。 用于覆盖。
DDFXALPHACAPS_OVERLAYALPHASURFACES
支持仅限 alpha 的图面。 仅限 alpha 的图面的位深度可以是 1、2、4 或 8。 随着 alpha 值的增加,alpha 值变得更加不透明。 无论 alpha 信息的深度如何,0 始终是完全透明的值。 用于覆盖。
DDFXALPHACAPS_OVERLAYALPHASURFACESNEG
指示 alpha 通道随着 alpha 值的增加而变得更加透明。 alpha 通道数据的深度可以是 1、2、4 或 8。 无论 alpha 信息的深度如何,0 始终是完全不透明的值。 仅当设置了DDCAPS_ALPHA时,才能使用此标志。 用于覆盖。
dwPalCaps
此值由以下一个或多个指定调色板功能的标志组成。
DDPCAPS_1BIT
支持包含 1 位颜色条目的调色板 (两种颜色) 。
DDPCAPS_2BIT
支持包含 2 位颜色条目的调色板 (四种颜色) 。
DDPCAPS_4BIT
支持包含 4 位颜色条目的调色板 (16 色) 。
DDPCAPS_8BIT
支持包含 8 位颜色条目的调色板 (256 种颜色) 。
DDPCAPS_8BITENTRIES
指定 8 位颜色索引的索引。 仅当与DDPCAPS_1BIT、DDPCAPS_2BIT或DDPCAPS_4BIT功能一起使用,并且目标图面为每像素 8 位 (bpp) 时,此字段才有效。 每个颜色条目的长度为 1 字节,是目标图面上 8 bpp 调色板的索引。
DDPCAPS_ALPHA
支持包含 alpha 组件的调色板。 对于支持 alpha 的调色板,除了 peRed、peGreen 和 peBlue 成员) 的颜色数据外,调色板包含的每个 PALETTEENTRY 结构的 peFlags 成员将被解释为单个 8 位 alpha 值 (。 使用此标志创建的调色板只能附加到纹理图面。
DDPCAPS_ALLOW256
支持可定义所有 256 个条目的调色板。
DDPCAPS_PRIMARYSURFACE
调色板连接到主图面。 除非指定并支持DDPCAPS_VSYNC功能,否则更改调色板会立即对显示器产生影响。
DDPCAPS_PRIMARYSURFACELEFT
调色板连接到左侧的主图面。 除非指定并支持DDPCAPS_VSYNC功能,否则更改调色板会立即对显示器产生影响。
DDPCAPS_VSYNC
可以使用监视器的刷新率同步修改调色板。
dwSVCaps
此值由以下一个或多个指定立体视觉功能的标志组成。
DDSVCAPS_RESERVED1、DDSVCAPS_RESERVED2、DDSVCAPS_RESERVED3、DDSVCAPS_RESERVED4
保留标志。
DDSVCAPS_STEREOSEQUENTIAL
DirectX 7.0 的新增功能。 驱动程序可以在当前模式以外的至少一种模式下进行立体声。 应用程序可以使用 IDirectDraw7::GetDisplayMode 或 IDirectDraw7::EnumDisplayModes 获取每模式立体声信息。
dwAlphaBltConstBitDepths
DDBD_2、DDBD_4 或 DDBD_8。 (指示每个像素 2 位、4 位或 8 位。)
dwAlphaBltPixelBitDepths
DDBD_1、DDBD_2、DDBD_4或DDBD_8。 (指示每个像素 1、2、4 或 8 位。)
dwAlphaBltSurfaceBitDepths
DDBD_1、DDBD_2、DDBD_4或DDBD_8。 (指示每个像素 1、2、4 或 8 位。)
dwAlphaOverlayConstBitDepths
DDBD_2、DDBD_4 或 DDBD_8。 (指示每个像素 2 位、4 位或 8 位。)
dwAlphaOverlayPixelBitDepths
DDBD_1、DDBD_2、DDBD_4或DDBD_8。 (指示每个像素 1、2、4 或 8 位。)
dwAlphaOverlaySurfaceBitDepths
DDBD_1、DDBD_2、DDBD_4或DDBD_8。 (指示每个像素 1、2、4 或 8 位。)
dwZBufferBitDepths
DDBD_8、DDBD_16、DDBD_24或DDBD_32。 (指示每个像素 8 位、16 位、24 位或 32 位。) 此成员在 DirectX 6.0 及更高版本中已过时。 使用 IDirect3D7::EnumZBufferFormats 检索有关支持的深度缓冲区格式的信息。
dwVidMemTotal
设备上的显示内存总量(以字节为单位)减去为主图面和驱动程序保留的任何专用数据结构保留的内存。 (此值与 IDirectDraw7::GetAvailableVidMem 方法报告的总视频内存相同。)
dwVidMemFree
可用显示内存。 此值等于 dwVidMemTotal 中的值,减去应用程序当前为图面分配的任何内存。 与 IDirectDraw7::GetAvailableVidMem 方法不同,该方法报告可用于特定类型的表面 ((如纹理) )的内存,此值反映可用于任何类型的图面的内存。
dwMaxVisibleOverlays
可见覆盖或覆盖子画面的最大数目。
dwCurrVisibleOverlays
可见覆盖或覆盖子画面的当前数量。
dwNumFourCCCodes
FourCC 代码的数目。
dwAlignBoundarySrc
覆盖图面的源矩形对齐方式(以像素为单位)。
dwAlignSizeSrc
覆盖图面的源矩形大小对齐方式(以像素为单位)。 覆盖源矩形的像素宽度必须是此值的倍数。
dwAlignBoundaryDest
覆盖图面的目标矩形对齐方式(以像素为单位)。
dwAlignSizeDest
覆盖图面的目标矩形大小对齐方式(以像素为单位)。 覆盖目标矩形的像素宽度必须是此值的倍数。
dwAlignStrideAlign
步幅对齐。
dwRops[DD_ROP_SPACE]
支持的光栅操作。
ddsCaps
包含常规表面功能的 DDSCAPS2 结构。
dwMinOverlayStretch
最小覆盖拉伸因子,乘以 1000。 例如,1.3 = 1300。
dwMaxOverlayStretch
最大覆盖拉伸因子,乘以 1000。 例如,1.3 = 1300。
dwMinLiveVideoStretch
过时;请勿使用。
dwMaxLiveVideoStretch
过时;请勿使用。
dwMinHwCodecStretch
过时;请勿使用。
dwMaxHwCodecStretch
过时;请勿使用。
dwReserved1
预留
dwReserved2
预留
dwReserved3
预留
dwSVBCaps
特定于驱动程序的功能,用于从系统内存中获取 bitblts 来显示内存。 有效标志与与 dwCaps 成员一起使用的与 bitblt 相关的标志相同。
dwSVBCKeyCaps
用于从系统内存中获取位的驱动程序颜色键功能,用于显示内存。 有效标志与与 dwCKeyCaps 成员一起使用的与 bitblt 相关的标志相同。
dwSVBFXCaps
用于从系统内存显示内存的 bitblts 的驱动程序 FX 功能。 有效标志与与 dwFXCaps 成员一起使用的与 bitblt 相关的标志相同。
dwSVBRops[DD_ROP_SPACE]
支持从系统内存中获取位来显示内存的光栅操作。
dwVSBCaps
适用于从显示内存到系统内存的 bitblts 的特定于驱动程序的功能。 有效标志与与 dwCaps 成员一起使用的与 bitblt 相关的标志相同。
dwVSBCKeyCaps
用于从显示内存到系统内存的 bitblts 的驱动程序颜色键功能。 有效标志与与 dwCKeyCaps 成员一起使用的与 bitblt 相关的标志相同。
dwVSBFXCaps
用于从显示内存到系统内存的比特的驱动程序 FX 功能。 有效标志与与 dwFXCaps 成员一起使用的与 bitblt 相关的标志相同。
dwVSBRops[DD_ROP_SPACE]
从显示内存到系统内存的 bitblts 支持的光栅操作。
dwSSBCaps
特定于驱动程序的功能,用于从系统内存到系统内存的 bitblts。 有效标志与 与 dwCaps 成员一起使用的与 bitblt 相关的标志相同。
dwSSBCKeyCaps
用于从系统内存到系统内存的 bitblts 的驱动程序颜色键功能。 有效标志与 与 dwCKeyCaps 成员一起使用的与 bitblt 相关的标志相同。
dwSSBFXCaps
用于从系统内存到系统内存的比特的驱动程序 FX 功能。 有效标志与与 dwFXCaps 成员一起使用的与 bitblt 相关的标志相同。
dwSSBRops[DD_ROP_SPACE]
从系统内存到系统内存的 bitblts 支持的光栅操作。
dwReserved4
预留
dwReserved5
预留
dwReserved6
预留
备注
为了向后兼容,Ddraw.h 头文件包含 DDCAPS 结构的多个定义。 传递预处理器的版本由DIRECTDRAW_VERSION常量的值确定。
要求
标头 | ddraw.h |