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, bevor Sie diese produktiv verwenden.

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

Hinweis: Dieses Feature ist verfügbar in Web Workers.

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

BCD tables only load in the browser

Siehe auch