GPURenderPassEncoder: setScissorRect() Methode

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Die setScissorRect()-Methode der GPURenderPassEncoder-Schnittstelle setzt das Scherrechteck, das während der Rasterisierungsphase verwendet wird. Fragmente, die nach der Transformation in Viewport-Koordinaten außerhalb des Scherrechtecks liegen, werden verworfen.

Syntax

js
setScissorRect(x, y, width, height)

Parameter

x

Eine Zahl, die den minimalen X-Wert des Scherrechtecks in Pixeln darstellt.

y

Eine Zahl, die den minimalen Y-Wert des Scherrechtecks in Pixeln darstellt.

width

Eine Zahl, die die Breite des Scherrechtecks in Pixeln darstellt.

height

Eine Zahl, die die Höhe des Scherrechtecks in Pixeln darstellt.

Hinweis: Wenn kein setScissorRect()-Aufruf erfolgt, sind die Standardwerte (0, 0, attachment width, attachment height) für jede Render-Pass gesetzt.

Rückgabewert

Keiner (Undefined).

Validierung

Die folgenden Kriterien müssen beim Aufruf von setViewport() erfüllt sein, andernfalls wird ein GPUValidationError erzeugt und der GPURenderPassEncoder wird ungültig:

  • x + width ist kleiner oder gleich der Breite der Render-Pass-Render-Anhänge (siehe Hinweis unten).
  • y + height ist kleiner oder gleich der Höhe der Render-Pass-Render-Anhänge (siehe Hinweis unten).

Hinweis: Siehe die Farb- und Tiefen/Stencil-Anhänge, die im Deskriptor von GPUCommandEncoder.beginRenderPass() angegeben sind; die Breite und Höhe basieren auf der des GPUTexture, von der ihre views stammen.

Beispiele

Grundlegendes Beispiel

In einem typischen Kanvas-Render könnte Folgendes verwendet werden, um das Rendern außerhalb des oberen linken Viertels des Kanvas zu verwerfen:

js
passEncoder.setScissorRect(0, 0, canvas.width / 2, canvas.height / 2);

Spezifikationen

Specification
WebGPU
# dom-gpurenderpassencoder-setscissorrect

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
setScissorRect
Experimental

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Partial support
Partial support
In development. Supported in a pre-release version.
In development. Supported in a pre-release version.
No support
No support
Experimental. Expect behavior to change in the future.
See implementation notes.
User must explicitly enable this feature.
Has more compatibility info.

Siehe auch