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.
- Disegna
- 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
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Windows |
Intestazione | d3d11.h |
Libreria | D3D11.lib |