ID3D10Device::SetPredication メソッド (d3d10.h)

レンダリング述語を設定します。

構文

void SetPredication(
  [in] ID3D10Predicate *pPredicate,
  [in] BOOL            PredicateValue
);

パラメーター

[in] pPredicate

種類: ID3D10Predicate*

述語へのポインター ( ID3D10Predicate を参照)。 NULL 値は、"no" の指定を示します。この場合、PredicateValue の値は関係ありませんが、ID3D10Device::GetPredication では保持されます。

[in] PredicateValue

種類: BOOL

TRUE の場合、述語の条件が満たされたときのレンダリングの影響を受けます。 FALSE の場合、条件が満たされない場合、レンダリングが影響を受けます。

戻り値

なし

解説

述語は、事前指定に使用される "発行済み" または "シグナル化された" 状態である必要があります。 述語が事前指定用に設定されている間、 ID3D10Asynchronous::BeginID3D10Asynchronous::End の呼び出しは無効です。

このメソッドは、述語の結果の述語データが PredicateValue と等しい場合に、後続のレンダリングおよびリソース操作コマンドが実際には実行されないことを示すために使用されます。 ただし、一部の述語は唯一のヒントであるため、実際には操作の実行を妨げるわけではありません。

Predication の主な有用性は、 ID3D10Asynchronous::GetData が返されるのを待って、スピンのパフォーマンスヒットを受けることなく、アプリケーションがグラフィックス コマンドを発行できるようにすることです。 そのため、 ID3D10Asynchronous::GetData がS_FALSEを返す間に、Predication が発生する可能性があります。 もう 1 つの考え方: ID3D10Asynchronous::GetData がS_FALSEを返す可能性がある場合、アプリケーションは Predication をフォールバックとして使用することもできます。 ID3D10Asynchronous::GetData がS_OKを返した場合、アプリケーションは独自のアプリケーション ロジックを使用してグラフィックス コマンドを手動で呼び出すのをスキップできます。

要件

要件
対象プラットフォーム Windows
ヘッダー d3d10.h
Library D3D10.lib

こちらもご覧ください

ID3D10Device インターフェイス