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:
ReplTest1 | 意義 |
---|---|
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