Condividi tramite


Metodo ID3D11DeviceContext::SetPredication (d3d11.h)

Impostare un predicato di rendering.

Sintassi

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

Parametri

[in, optional] pPredicate

Tipo: ID3D11Predicate*

Puntatore all'interfaccia ID3D11Predicate che rappresenta il predicato di rendering. Un valore NULL indica "no" predicazione; in questo caso, il valore di PredicateValue è irrilevante, ma verrà mantenuto per ID3D11DeviceContext::GetPredication.

[in] PredicateValue

Tipo: BOOL

Se TRUE, il rendering verrà interessato da quando vengono soddisfatte le condizioni del predicato. Se FALSE, il rendering verrà interessato quando le condizioni non vengono soddisfatte.

Valore restituito

nessuno

Osservazioni

Il predicato deve trovarsi nello stato "emesso" o "segnalato" da usare per il predicamento. Sebbene il predicato sia impostato per il predicamento, le chiamate a ID3D11DeviceContext::Begin e ID3D11DeviceContext::End non sono valide.

Usare questo metodo per indicare che i comandi di rendering e manipolazione delle risorse successivi non vengono effettivamente eseguiti se i dati predicati risultanti del predicato sono uguali a PredicateValue. Tuttavia, alcuni predicati sono solo hint, quindi potrebbero non impedire effettivamente l'esecuzione delle operazioni.

L'utilità primaria della predicazione consiste nell'consentire a un'applicazione di eseguire il rendering e i comandi di manipolazione delle risorse senza prendere il colpo delle prestazioni della rotazione, in attesa di ID3D11DeviceContext::GetData da restituire. Quindi, la predicazione può verificarsi mentre ID3D11DeviceContext::GetData restituisce S_FALSE. Un altro modo per considerarlo: un'applicazione può anche usare predicazione come fallback, se è possibile che ID3D11DeviceContext::GetData restituisce S_FALSE. Se ID3D11DeviceContext::GetData restituisce S_OK, l'applicazione può ignorare la chiamata manuale dei comandi di rendering e manipolazione delle risorse con la propria logica dell'applicazione.

I comandi di rendering e manipolazione delle risorse per Direct3D 11 includono queste operazioni Draw, Dispatch, Copy, Update, Clear, Generate e Resolve.

È possibile impostare un predicato di rendering in un contesto immediato o posticipato. Per informazioni sui contesti immediati e posticipati, vedere Rendering immediato e posticipato.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione d3d11.h
Libreria D3D11.lib

Vedi anche

ID3D11DeviceContext