ID3D10Device::SetPredication-Methode (d3d10.h)
Legen Sie ein Rendering-Prädikat fest.
Syntax
void SetPredication(
[in] ID3D10Predicate *pPredicate,
[in] BOOL PredicateValue
);
Parameter
[in] pPredicate
Typ: ID3D10Predicate*
Zeiger auf ein Prädikat (siehe ID3D10Predicate). Ein NULL-Wert gibt "keine" Prädication an. in diesem Fall ist der Wert von PredicateValue irrelevant, wird aber für ID3D10Device::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 ID3D10Asynchronous::Begin und ID3D10Asynchronous::End ungültig.
Diese Methode wird verwendet, um anzugeben, dass nachfolgende Rendering- und Ressourcenbearbeitungsbefehle nicht tatsächlich ausgeführt werden, wenn die resultierenden Prädikatdaten des Prädikats dem PredicateValue entsprechen. Einige Prädikate sind jedoch nur Hinweise, sodass sie möglicherweise nicht wirklich verhindern, dass Vorgänge ausgeführt werden.
Der primäre Nutzen von Predication besteht darin, einer Anwendung das Ausgeben von Grafikbefehlen zu ermöglichen, ohne den Leistungstreffer des Drehens zu nehmen und darauf zu warten, dass ID3D10Asynchronous::GetData zurückgegeben wird. Die Prädication kann also auftreten, während ID3D10Asynchronous::GetData S_FALSE zurückgibt. Eine andere Möglichkeit, es sich vorzudenken: Eine Anwendung kann auch Predication als Fallback verwenden, wenn es möglich ist, dass ID3D10Asynchronous::GetData S_FALSE zurückgibt. Wenn ID3D10Asynchronous::GetData S_OK zurückgibt, kann die Anwendung das manuelle Aufrufen der Grafikbefehle mit ihrer eigenen Anwendungslogik überspringen.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | d3d10.h |
Bibliothek | D3D10.lib |