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

View in English Always switch to English

EXT_polygon_offset_clamp: Methode polygonOffsetClampEXT()

Die Methode polygonOffsetClampEXT() der Erweiterung EXT_polygon_offset_clamp der WebGL-API legt den Skalierungsfaktor und die Einheiten für die Berechnung von Tiefenversätzen fest, ähnlich wie WebGLRenderingContext.polygonOffset(). Zusätzlich legt sie einen Grenzwert für den resultierenden Versatz fest.

Der Versatz wird aus factor und units auf dieselbe Weise wie bei polygonOffset() berechnet und anschließend durch clamp begrenzt:

  • Ist clamp positiv, beträgt der Versatz höchstens clamp.
  • Ist clamp negativ, beträgt der Versatz mindestens clamp.
  • Ist clamp gleich 0 oder NaN, wird der Versatz nicht begrenzt.

Ein Aufruf von polygonOffset() entspricht einem Aufruf von polygonOffsetClampEXT() mit einem clamp-Wert von 0 und hebt damit die Begrenzung auf.

Der Tiefenversatz wird nur angewendet, wenn gl.POLYGON_OFFSET_FILL mit WebGLRenderingContext.enable() aktiviert wurde.

Syntax

js
polygonOffsetClampEXT(factor, units, clamp)

Parameter

factor

Ein GLfloat, der den Skalierungsfaktor für den variablen Tiefenversatz jedes Polygons festlegt. Der Standardwert ist 0.

units

Ein GLfloat, der den Multiplikator festlegt, mit dem ein implementierungsspezifischer Wert multipliziert wird, um einen konstanten Tiefenversatz zu erzeugen. Der Standardwert ist 0.

clamp

Ein GLfloat, der den maximalen (bei positivem Wert) oder minimalen (bei negativem Wert) Tiefenversatz festlegt. Der Standardwert ist 0; das bedeutet, dass keine Begrenzung gilt.

Rückgabewert

Keiner (undefined).

Beispiele

Den Tiefenversatz begrenzen

Dieses Beispiel aktiviert den Tiefenversatz, setzt factor auf 2 und units auf 3 und begrenzt den Versatz auf 0.001:

js
const ext = gl.getExtension("EXT_polygon_offset_clamp");

gl.enable(gl.POLYGON_OFFSET_FILL);
ext.polygonOffsetClampEXT(2, 3, 0.001);

Um die aktuellen Werte zu prüfen, fragen Sie die Konstanten POLYGON_OFFSET_FACTOR, POLYGON_OFFSET_UNITS und POLYGON_OFFSET_CLAMP_EXT ab:

js
gl.getParameter(gl.POLYGON_OFFSET_FACTOR); // 2
gl.getParameter(gl.POLYGON_OFFSET_UNITS); // 3
gl.getParameter(ext.POLYGON_OFFSET_CLAMP_EXT); // 0.0010000000474974513

Spezifikationen

Spezifikation
WebGL EXT_polygon_offset_clamp Extension Specification

Browser-Kompatibilität

Siehe auch