ID3D11DeviceContext ::SetPredication, méthode (d3d11.h)
Définissez un prédicat de rendu.
Syntaxe
void SetPredication(
[in, optional] ID3D11Predicate *pPredicate,
[in] BOOL PredicateValue
);
Paramètres
[in, optional] pPredicate
Type : ID3D11Predicate*
Pointeur vers l’interface ID3D11Predicate qui représente le prédicat de rendu. Une valeur NULL indique la prédication « no » ; dans ce cas, la valeur de PredicateValue n’est pas pertinente, mais sera conservée pour ID3D11DeviceContext ::GetPredication.
[in] PredicateValue
Type : BOOL
Si la valeur est TRUE, le rendu est affecté par le moment où les conditions du prédicat sont remplies. Si la valeur est FALSE, le rendu est affecté lorsque les conditions ne sont pas remplies.
Valeur de retour
None
Remarques
Le prédicat doit être à l’état « émis » ou « signalé » pour être utilisé pour la prédication. Bien que le prédicat soit défini pour la prédication, les appels à ID3D11DeviceContext ::Begin et ID3D11DeviceContext ::End ne sont pas valides.
Utilisez cette méthode pour indiquer que les commandes de rendu et de manipulation de ressources suivantes ne sont pas réellement effectuées si les données de prédicat obtenues du prédicat sont égales à predicateValue. Toutefois, certains prédicats ne sont que des indicateurs, de sorte qu’ils n’empêchent pas réellement les opérations d’être effectuées.
L’utilité principale de la prédication est de permettre à une application d’émettre des commandes de rendu et de manipulation des ressources sans avoir à atteindre les performances de la rotation, en attendant le retour d’ID3D11DeviceContext ::GetData . Ainsi, la prédication peut se produire alors qu’ID3D11DeviceContext ::GetData retourne S_FALSE. Autre façon d’y penser : une application peut également utiliser la prédication comme secours, s’il est possible qu’ID3D11DeviceContext ::GetData retourne S_FALSE. Si ID3D11DeviceContext ::GetData retourne S_OK, l’application peut ignorer l’appel manuel des commandes de rendu et de manipulation des ressources avec sa propre logique d’application.
Les commandes de rendu et de manipulation des ressources pour Direct3D 11 incluent ces opérations Draw, Dispatch, Copy, Update, Clear, Generate et Resolve.
- Dessin
- DrawAuto
- DrawIndexed
- DrawIndexedInstanced
- DrawIndexedInstancedIndirect
- DrawInstanced
- DrawInstancedIndirect
- Dispatch
- DispatchIndirect
- CopyResource
- CopyStructureCount
- CopySubresourceRegion
- CopySubresourceRegion1
- CopyTiles
- CopyTileMappings
- UpdateSubresource
- UpdateSubresource1
- UpdateTiles
- UpdateTileMappings
- ClearRenderTargetView
- ClearUnorderedAccessViewFloat
- ClearUnorderedAccessViewUint
- Clearview
- ClearDepthStencilView
- GenerateMips
- ResolveSubresource
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Windows |
En-tête | d3d11.h |
Bibliothèque | D3D11.lib |