WebGLRenderingContext: stencilFuncSeparate() Methode
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die WebGLRenderingContext.stencilFuncSeparate()
-Methode der
WebGL API legt die Vorder- und/oder Rückseite
Funktion und Referenzwert für den Stencil-Test fest.
Stencilling ermöglicht das Zeichnen auf Pixel-Basis zu aktivieren oder zu deaktivieren. Es wird typischerweise im Multipass-Rendering verwendet, um spezielle Effekte zu erzielen.
Syntax
stencilFuncSeparate(face, func, ref, mask)
Parameter
face
-
Ein
GLenum
, der angibt, ob der vordere und/oder hintere Stencil-Zustand aktualisiert wird. Die möglichen Werte sind:gl.FRONT
gl.BACK
gl.FRONT_AND_BACK
func
-
Ein
GLenum
, der die Testfunktion angibt. Die Standardfunktion istgl.ALWAYS
. Die möglichen Werte sind:gl.NEVER
: Niemals bestehen.gl.LESS
: Bestehen, wenn(ref & mask) < (stencil & mask)
.gl.EQUAL
: Bestehen, wenn(ref & mask) = (stencil & mask)
.gl.LEQUAL
: Bestehen, wenn(ref & mask) <= (stencil & mask)
.gl.GREATER
: Bestehen, wenn(ref & mask) > (stencil & mask)
.gl.NOTEQUAL
: Bestehen, wenn(ref & mask) !== (stencil & mask)
.gl.GEQUAL
: Bestehen, wenn(ref & mask) >= (stencil & mask)
.gl.ALWAYS
: Immer bestehen.
ref
-
Ein
GLint
, der den Referenzwert für den Stencil-Test angibt. Dieser Wert wird in den Bereich 0 bis 2^n - 1 geklammert, wobei n die Anzahl der Bitplanes im Stencil-Puffer ist. Der Standardwert ist 0. mask
-
Ein
GLuint
, der eine Bit-weise Maske angibt, die verwendet wird, um den Referenzwert und den gespeicherten Stencilwert zu ver-UND-en, wenn der Test durchgeführt wird. Der Standardwert ist alle 1.
Rückgabewert
Keiner (undefined
).
Beispiele
Das Stencil-Testing ist standardmäßig deaktiviert. Um das Stencil-Testing zu aktivieren oder zu deaktivieren, verwenden Sie
die Methoden enable()
und
disable()
mit dem Argument
gl.STENCIL_TEST
.
gl.enable(gl.STENCIL_TEST);
gl.stencilFuncSeparate(gl.FRONT, gl.LESS, 0.2, 1110011);
Um die aktuelle Stencil-Funktion, den Referenzwert oder andere Stencil-Informationen abzurufen,
fragen Sie die folgenden Konstanten mit getParameter()
ab.
gl.getParameter(gl.STENCIL_FUNC);
gl.getParameter(gl.STENCIL_VALUE_MASK);
gl.getParameter(gl.STENCIL_REF);
gl.getParameter(gl.STENCIL_BACK_FUNC);
gl.getParameter(gl.STENCIL_BACK_VALUE_MASK);
gl.getParameter(gl.STENCIL_BACK_REF);
gl.getParameter(gl.STENCIL_BITS);
Spezifikationen
Specification |
---|
WebGL Specification # 5.14.3 |