Freigeben über


ID3D11DeviceContext::SetPredication-Methode (d3d11.h)

Legen Sie ein Rendering-Prädikat fest.

Syntax

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

Parameter

[in, optional] pPredicate

Typ: ID3D11Predicate*

Ein Zeiger auf die ID3D11Predicate-Schnittstelle , die das Renderingprädikat darstellt. Ein NULL-Wert gibt "keine" Prädication an. In diesem Fall ist der Wert von PredicateValue irrelevant, wird aber für ID3D11DeviceContext::GetPredication beibehalten.

[in] PredicateValue

Typ: BOOL

Wenn TRUE, wird das Rendern davon beeinflusst, wann die Bedingungen des Prädikats erfüllt sind. Wenn FALSE, wird das Rendering beeinträchtigt, wenn die Bedingungen nicht erfüllt sind.

Rückgabewert

Keine

Bemerkungen

Das Prädikat muss sich im Zustand "ausgestellt" oder "signalisiert" befinden, um für die Prädication verwendet zu werden. Während das Prädikat für die Prädication festgelegt ist, sind Aufrufe von ID3D11DeviceContext::Begin und ID3D11DeviceContext::End ungültig.

Verwenden Sie diese Methode, um anzugeben, dass nachfolgende Rendering- und Ressourcenbearbeitungsbefehle nicht tatsächlich ausgeführt werden, wenn die resultierenden Prädikatdaten des Prädikats gleich dem PredicateValue sind. Einige Prädikate sind jedoch nur Hinweise, sodass sie möglicherweise nicht wirklich verhindern, dass Vorgänge ausgeführt werden.

Der primäre Nutzen der Prädication besteht darin, einer Anwendung das Ausgeben von Befehlen zum Rendern und der Ressourcenbearbeitung zu ermöglichen, ohne die Leistung des Drehens zu beeinträchtigen und auf die Rückgabe von ID3D11DeviceContext::GetData zu warten. Die Prädication kann also auftreten, während ID3D11DeviceContext::GetDataS_FALSE zurückgibt. Eine andere Möglichkeit, es sich vorzudenken: Eine Anwendung kann auch die Prädication als Fallback verwenden, wenn es möglich ist, dass ID3D11DeviceContext::GetDataS_FALSE zurückgibt. Wenn ID3D11DeviceContext::GetDataS_OK zurückgibt, kann die Anwendung das manuelle Aufrufen der Rendering- und Ressourcenbearbeitungsbefehle mit einer eigenen Anwendungslogik überspringen.

Zu den Rendering- und Ressourcenbearbeitungsbefehlen für Direct3D 11 gehören die Folgenden Vorgänge Zeichnen, Senden, Kopieren, Aktualisieren, Löschen, Generieren und Auflösen.

Sie können ein Rendering-Prädikat für einen unmittelbaren oder verzögerten Kontext festlegen. Informationen zu unmittelbaren und verzögerten Kontexten finden Sie unter Sofortiges und verzögertes Rendering.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile d3d11.h
Bibliothek D3D11.lib

Weitere Informationen

ID3D11DeviceContext