PFND3D10DDI_SETSCISSORRECTS Rückruffunktion (d3d10umddi.h)
Die SetScissorRects-Funktion kennzeichnet Teile von Renderzielen, auf die das Rendern beschränkt ist.
Syntax
PFND3D10DDI_SETSCISSORRECTS Pfnd3d10ddiSetscissorrects;
void Pfnd3d10ddiSetscissorrects(
D3D10DDI_HDEVICE unnamedParam1,
[in] UINT NumRects,
[in] UINT ClearRects,
const D3D10_DDI_RECT *unnamedParam4
)
{...}
Parameter
unnamedParam1
hDevice [in]
Ein Handle für das Anzeigegerät (Grafikkontext).
[in] NumRects
Die Gesamtanzahl der Renderzielteile, die der pRects-Parameter angibt.
[in] ClearRects
Die Anzahl der Renderzielteile nach der Anzahl der Renderzielteile, die NumScissorRects angibt, um auf NULL festgelegt zu werden. Diese Zahl stellt den Unterschied zwischen der vorherigen Anzahl von Renderzielanteilen (d. h. wenn die Microsoft Direct3D-Runtime zuvor SetScissorRects genannt wurde) und der neuen Anzahl von Renderzielanteilen dar.
Beachten Sie, dass die Zahl, die ClearScissorRects angibt, nur eine Optimierungshilfe ist, da der Benutzermodusanzeigetreiber diese Zahl berechnen könnte.
unnamedParam4
pRects [in]
Ein Array von RECT-Strukturen für die zu markierenden Renderzielteile.
Rückgabewert
Keine
Bemerkungen
Der Treiber kann die Rückruffunktion pfnSetErrorCb verwenden, um einen Fehlercode festzulegen.
Die D3D10_DDI_RECT-Struktur ist als RECT-Struktur definiert.
typedef RECT D3D10_DDI_RECT;
Der Benutzermodusanzeigetreiber muss alle Renderzielteile atomar als einen Vorgang festlegen.
Obwohl der NumScissorRects-Parameter die Anzahl der Renderzielteile im Array angibt, die der pRects-Parameter angibt, können einige Werte im Array NULL sein.
Der Bereich der Renderzielteile zwischen der Zahl, die NumScissorRects angibt, und der maximal zulässigen Anzahl von Renderzielanteilen muss alle NULL - oder ungebundenen Werte enthalten. Die Zahl, die der ClearScissorRects-Parameter angibt, informiert den Treiber darüber, wie viele Renderzielteile der Treiber für den aktuellen atomaren Vorgang löschen muss.
Wenn der vorherige Aufruf von SetScissorRects den Wert 2 im NumScissorRects-Parameter übergeben hat und der aktuelle Aufruf von SetScissorRects den Wert 4 in NumScissorRects übergibt, übergibt der aktuelle Aufruf von SetScissorRects auch den Wert 0 im ClearScissorRects-Parameter . Wenn der nächste aufeinanderfolgende Aufruf von SetScissorRects den Wert 1 in NumScissorRects übergibt, übergibt der nachfolgende Aufruf auch den Wert 3 (4 - 1) in ClearScissorRects.
Wenn der Wert von clear render-target-Portionen während Abfragevorgängen im Benutzermodus angefordert wird, ist der Wert die Differenz zwischen der maximalen Anzahl von Renderzielanteilen und dem Wert der Renderzielteilteile.
Für den Treiber sollte kein Fehler auftreten, mit Ausnahme von D3DDDIERR_DEVICEREMOVED. Wenn der Treiber bei einem Aufruf der PfnSetErrorCb-Funktion einen Fehler mit Ausnahme von D3DDDIERR_DEVICEREMOVED übergibt, ermittelt die Microsoft Direct3D-Runtime daher, dass der Fehler kritisch ist. Selbst wenn das Gerät entfernt wurde, muss der Treiber nicht D3DDDIERR_DEVICEREMOVED zurückgeben. Wenn die Geräteentfernung jedoch den Betrieb von SetScissorRects beeinträchtigt hat (was normalerweise nicht geschehen sollte), kann der Treiber D3DDDIERR_DEVICEREMOVED zurückgeben.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar in Windows Vista und höheren Versionen der Windows-Betriebssysteme. |
Zielplattform | Desktop |
Kopfzeile | d3d10umddi.h (einschließlich D3d10umddi.h) |