ID3D10Device::SetPredication 方法 (d3d10.h)
設定轉譯述詞。
語法
void SetPredication(
[in] ID3D10Predicate *pPredicate,
[in] BOOL PredicateValue
);
參數
[in] pPredicate
類型: ID3D10Predicate*
述詞的指標 (請參閱 ID3D10Predicate) 。 NULL 值表示「否」預先定義;在此情況下,PredicateValue 的值無關,但會保留ID3D10Device::GetPredication。
[in] PredicateValue
類型: BOOL
如果 為 TRUE,當符合述詞的條件時,轉譯將會受到影響。 如果 為 FALSE,當不符合條件時,轉譯將會受到影響。
傳回值
無
備註
述詞必須處於「已發出」或「訊號」狀態,才能用於預先分隔。 當述詞設定為預先分割時, 對ID3D10Asynchronous::Begin 和 ID3D10Asynchronous::End 的呼叫無效。
如果 Predicate 產生的述詞數據等於 PredicateValue,則這個方法用來表示後續的轉譯和資源操作命令不會實際執行。 不過,某些述詞只是提示,因此可能不會實際防止執行作業。
預先分割的主要用途是允許應用程式發出圖形命令,而不需達到旋轉的效能,等待 ID3D10Asynchronous::GetData 傳回。 因此, ID3D10Asynchronous::GetData 會傳回S_FALSE時發生預先分割。 另一種思考方式:如果 ID3D10Asynchous::GetData 可能會傳回S_FALSE,應用程式也可以使用預先分割作為後援。 如果 ID3D10Asynchronous::GetData 傳回S_OK,應用程式可以使用自己的應用程式邏輯手動略過呼叫圖形命令。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | d3d10.h |
程式庫 | D3D10.lib |