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_DP2COMMAND的 wStateCount 成员包含要 blitted 的矩形区域的总数。 所需的其他 (wStateCount-1) RECT 结构遵循不带任何填充的 D3DHAL_DP2CLEAR 结构。
注解
此结构与 D3DDP2OP_CLEAR 命令令牌一起使用,以替换旧版 D3dClear 和 D3dClear2 回调。
请务必注意,当矩形数为零时,D3DHAL_DP2CLEAR数据结构仍包含单个 RECT 的空间。 因此,在前进到下一个 DP2 指令时,应包含此单个 RECT 的大小。 但是,在这种情况下,RECT 的内容未定义,驱动程序不应尝试读取它们。
显示驱动程序必须转换 ARGB 和 YUV 颜色格式类的输入颜色值。 对于清除操作,输入颜色值在 dwFillColor 成员中指定。 有关详细信息,请参阅 处理像素格式的颜色值。
要求
要求 | 值 |
---|---|
Header | d3dhal.h (包括 D3dhal.h) |
另请参阅
D3DDP2OP_CLEAR