D3DHAL_DP2CLEAR 结构 (d3dhal.h)

D3DHAL_DP2CLEAR包含驱动程序在呈现目标、深度缓冲区或模具缓冲区上执行硬件辅助清除所需的所有信息。

语法

typedef struct _D3DHAL_DP2CLEAR {
  DWORD    dwFlags;
  DWORD    dwFillColor;
  D3DVALUE dvFillDepth;
  DWORD    dwFillStencil;
  RECT     Rects[1];
} D3DHAL_DP2CLEAR;

成员

dwFlags

指定驱动程序应清除的缓冲区。 此成员可以是以下值的按位 OR:

含义
D3DCLEAR_TARGET 驱动程序应将上下文的呈现目标清除为 dwFillColor 成员指定的颜色。
D3DCLEAR_STENCIL 驱动程序应将上下文的模具缓冲区清除为 dwFillStencil 成员指定的值。
D3DCLEAR_ZBUFFER 驱动程序应将上下文的深度缓冲区清除为 dwFillDepth 成员指定的深度。
D3DCLEAR_COMPUTERECTS 仅限 DirectX 8.0 及更高版本。
如果设置了此标志,则应根据当前视区剪裁指定的矩形。 此外,在指定D3DCLEAR_COMPUTERECTS时,要清除的矩形数可以为零, (可在清除) 的D3DHAL_DP2COMMAND 结构的 wStateCount/wPrimtiveCount 联合中找到要清除的矩形数。 在这种情况下,应清除整个视区。

dwFillColor

指定驱动程序应清除上下文的呈现目标的颜色。

dvFillDepth

指定驱动程序应用于在上下文的深度缓冲区中设置深度的值。 此成员可以是 0.0 到 1.0 间隔中的值。 驱动程序应使用深度缓冲区的 DDPIXELFORMAT 结构的 dwZBitMask 成员将此值转换为整数。

dwFillStencil

指定驱动程序应将上下文的模具缓冲区清除到的值。 此成员可以是 0 到 2ⁿ-1 间隔内的整数,其中 n 是模具缓冲区中的位数。

Rects[1]

指定驱动程序应清除的缓冲区的矩形区域。 矩形在屏幕坐标中指定。 结构的此成员包含要 blitted 的第一个矩形区域。 D3DHAL_DP2COMMANDwStateCount 成员包含要 blitted 的矩形区域的总数。 所需的其他 (wStateCount-1) RECT 结构遵循不带任何填充的 D3DHAL_DP2CLEAR 结构。

注解

此结构与 D3DDP2OP_CLEAR 命令令牌一起使用,以替换旧版 D3dClearD3dClear2 回调。

请务必注意,当矩形数为零时,D3DHAL_DP2CLEAR数据结构仍包含单个 RECT 的空间。 因此,在前进到下一个 DP2 指令时,应包含此单个 RECT 的大小。 但是,在这种情况下,RECT 的内容未定义,驱动程序不应尝试读取它们。

显示驱动程序必须转换 ARGB 和 YUV 颜色格式类的输入颜色值。 对于清除操作,输入颜色值在 dwFillColor 成员中指定。 有关详细信息,请参阅 处理像素格式的颜色值

要求

要求
Header d3dhal.h (包括 D3dhal.h)

另请参阅

D3DDP2OP_CLEAR

D3DHAL_DP2COMMAND

DDPIXELFORMAT