Partager via


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.

Vous pouvez définir un prédicat de rendu sur un contexte immédiat ou différé. Pour plus d’informations sur les contextes immédiats et différés, consultez Rendu immédiat et différé.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête d3d11.h
Bibliothèque D3D11.lib

Voir aussi

ID3D11DeviceContext