ID3D11DeviceContext::SetPredication メソッド (d3d11.h)
レンダリング述語を設定します。
構文
void SetPredication(
[in, optional] ID3D11Predicate *pPredicate,
[in] BOOL PredicateValue
);
パラメーター
[in, optional] pPredicate
種類: ID3D11Predicate*
レンダリング述語を表す ID3D11Predicate インターフェイスへのポインター。 NULL 値は、"いいえ" の事前指定を示します。この場合、PredicateValue の値は無関係ですが、ID3D11DeviceContext::GetPredication には保持されます。
[in] PredicateValue
種類: BOOL
TRUE の場合、述語の条件が満たされたときにレンダリングが影響を受けます。 FALSE の場合、条件が満たされない場合、レンダリングが影響を受けます。
戻り値
なし
解説
述語は、割り当てに使用される "発行済み" または "シグナル化された" 状態である必要があります。 述語が事前指定用に設定されている間、 ID3D11DeviceContext::Begin と ID3D11DeviceContext::End の呼び出しは無効です。
このメソッドを使用して、述語の結果の述語データが PredicateValue と等しい場合、後続のレンダリングおよびリソース操作コマンドが実際には実行されないことを示します。 ただし、一部の述語はヒントに過ぎないため、実際には操作の実行を妨げない可能性があります。
準備の主な有用性は、 ID3D11DeviceContext::GetData が返されるのを待ち、スピンのパフォーマンスヒットを受けることなく、アプリケーションがレンダリングコマンドとリソース操作コマンドを発行できるようにすることです。 そのため、 ID3D11DeviceContext::GetData が S_FALSEを返す間に、割り当てが発生する可能性があります。 もう 1 つの考え方: ID3D11DeviceContext::GetData が S_FALSEを返す可能性がある場合、アプリケーションはフォールバックとしてプリケーションを使用することもできます。 ID3D11DeviceContext::GetData がS_OKを返した場合、アプリケーションは、独自のアプリケーション ロジックを使用してレンダリングコマンドとリソース操作コマンドを手動で呼び出すのをスキップできます。
Direct3D 11 のレンダリングおよびリソース操作コマンドには、描画、ディスパッチ、コピー、更新、クリア、生成、解決の各操作が含まれます。
- 描画
- DrawAuto
- DrawIndexed
- DrawIndexedInstanced
- DrawIndexedInstancedIndirect
- DrawInstanced
- DrawInstancedIndirect
- Dispatch
- DispatchIndirect
- CopyResource
- CopyStructureCount
- CopySubresourceRegion
- CopySubresourceRegion1
- CopyTiles
- CopyTileMappings
- UpdateSubresource
- UpdateSubresource1
- UpdateTiles
- UpdateTileMappings
- ClearRenderTargetView
- ClearUnorderedAccessViewFloat
- ClearUnorderedAccessViewUint
- クリアビュー
- ClearDepthStencilView
- GenerateMips
- ResolveSubresource
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | d3d11.h |
Library | D3D11.lib |