Compartir a través de


Método ID3D11DeviceContext::SetPredication (d3d11.h)

Establezca un predicado de representación.

Sintaxis

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

Parámetros

[in, optional] pPredicate

Tipo: ID3D11Predicate*

Puntero a la interfaz ID3D11Predicate que representa el predicado de representación. Un valor NULL indica el predicado "no"; en este caso, el valor de PredicateValue es irrelevante, pero se conservará para ID3D11DeviceContext::GetPredication.

[in] PredicateValue

Tipo: BOOL

Si es TRUE, la representación se verá afectada por cuando se cumplan las condiciones del predicado. Si es FALSE, la representación se verá afectada cuando no se cumplan las condiciones.

Valor devuelto

None

Observaciones

El predicado debe estar en el estado "emitido" o "señalizado" que se va a usar para predicación. Aunque el predicado está establecido para predicación, las llamadas a ID3D11DeviceContext::Begin e ID3D11DeviceContext::End no son válidas.

Use este método para indicar que los comandos de representación y manipulación de recursos posteriores no se realizan realmente si los datos de predicado resultantes del predicado son iguales a PredicateValue. Sin embargo, algunos predicados son solo sugerencias, por lo que es posible que no impidan realmente que se realicen operaciones.

La utilidad principal del predicado es permitir que una aplicación emita comandos de representación y manipulación de recursos sin tomar el impacto de rendimiento del giro, esperando que ID3D11DeviceContext::GetData devuelva. Por lo tanto, la predicación puede producirse mientras ID3D11DeviceContext::GetData devuelve S_FALSE. Otra manera de pensar en ella: una aplicación también puede usar predicación como reserva, si es posible que ID3D11DeviceContext::GetData devuelva S_FALSE. Si ID3D11DeviceContext::GetData devuelve S_OK, la aplicación puede omitir la llamada a los comandos de representación y manipulación de recursos manualmente con su propia lógica de aplicación.

Los comandos de representación y manipulación de recursos para Direct3D 11 incluyen estas operaciones Draw, Dispatch, Copy, Update, Clear, Generate y Resolve.

Puede establecer un predicado de representación en un contexto inmediato o diferido. Para obtener información sobre contextos inmediatos y diferidos, vea Representación inmediata y diferida.

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado d3d11.h
Library D3D11.lib

Consulte también

ID3D11DeviceContext