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 成员中指定。 有关详细信息,请参阅 处理像素格式的颜色值。
要求
要求 | 价值 |
---|---|
标头 | d3dhal.h (包括 D3dhal.h) |
另请参阅
D3DDP2OP_CLEAR