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_DP2COMMANDwStateCount 成員包含要 Blitted 的矩形區域總數。 另一個 (wStateCount-1) RECT 結構會遵循D3DHAL_DP2CLEAR結構,而不需要任何填補。

備註

此結構會與 D3DDP2OP_CLEAR 命令令牌搭配使用,以取代舊版 D3dClearD3dClear2 回呼。

請務必注意,當矩形數目為零時,D3DHAL_DP2CLEAR數據結構仍包含單一 RECT 的空間。 因此,當前進到下一個 DP2 指令時,應該包含這個單一 RECT 的大小。 不過,在此情況下,RECT 的內容未定義,而且驅動程式不應該嘗試讀取它們。

顯示驅動程式必須轉換 ARGB 和 YUV 色彩格式類別的輸入色彩值。 針對清除作業,輸入色彩值會在 dwFillColor 成員中指定。 如需詳細資訊,請參閱 處理圖元格式的色彩值

規格需求

需求
標頭 d3dhal.h (包含 D3dhal.h)

另請參閱

D3DDP2OP_CLEAR

D3DHAL_DP2COMMAND

DDPIXELFORMAT