Compartilhar via


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

Defina um predicado de renderização.

Sintaxe

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

Parâmetros

[in, optional] pPredicate

Tipo: ID3D11Predicate*

Um ponteiro para a interface ID3D11Predicate que representa o predicado de renderização. Um valor NULL indica a precação "não"; nesse caso, o valor de PredicateValue é irrelevante, mas será preservado para ID3D11DeviceContext::GetPredication.

[in] PredicateValue

Tipo: BOOL

Se TRUE, a renderização será afetada por quando as condições do predicado forem atendidas. Se FALSE, a renderização será afetada quando as condições não forem atendidas.

Retornar valor

Nenhum

Comentários

O predicado deve estar no estado "emitido" ou "sinalizado" a ser usado para a precação. Embora o predicado esteja definido para predication, as chamadas para ID3D11DeviceContext::Begin e ID3D11DeviceContext::End são inválidas.

Use esse método para indicar que os comandos subsequentes de renderização e manipulação de recursos não serão realmente executados se os dados de predicado resultantes do predicado forem iguais ao PredicateValue. No entanto, alguns predicados são apenas dicas, portanto, eles podem não impedir que as operações sejam executadas.

A principal utilidade da precação é permitir que um aplicativo emita comandos de renderização e manipulação de recursos sem levar o impacto de desempenho da rotação, aguardando o retorno de ID3D11DeviceContext::GetData . Portanto, a precação pode ocorrer enquanto ID3D11DeviceContext::GetData retorna S_FALSE. Outra maneira de pensar nisso: um aplicativo também pode usar a precação como um fallback, se for possível que ID3D11DeviceContext::GetData retorne S_FALSE. Se ID3D11DeviceContext::GetData retornar S_OK, o aplicativo poderá ignorar a chamada dos comandos de renderização e manipulação de recursos manualmente com sua própria lógica de aplicativo.

Os comandos de renderização e manipulação de recursos para Direct3D 11 incluem essas operações Desenhar, Expedir, Copiar, Atualizar, Limpar, Gerar e Resolver.

Você pode definir um predicado de renderização em um contexto imediato ou adiado. Para obter informações sobre contextos imediatos e adiados, consulte Renderização imediata e adiada.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho d3d11.h
Biblioteca D3D11.lib

Confira também

ID3D11DeviceContext