Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

GPURenderPassEncoder: Methode setScissorRect()

Eingeschränkt verfügbar

Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.

Want more support for this feature? Tell us why.

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 Schnittstelle GPURenderPassEncoder setzt das Scherrechteck, das während der Rasterisierungsphase verwendet wird. Nach der Transformation in die Viewport-Koordinaten werden alle Fragmente, die außerhalb des Scherrechtecks fallen, 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-Schicht.

Rückgabewert

Keiner (undefined).

Validierung

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

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

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

Beispiele

Grundlegendes Beispiel

In einem typischen Canvas-Rendering könnte Folgendes verwendet werden, um jegliches Rendering außerhalb des oberen linken Viertels der Leinwand zu verwerfen:

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

Spezifikationen

Spezifikation
WebGPU
# dom-gpurenderpassencoder-setscissorrect

Browser-Kompatibilität

Siehe auch