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.

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