WebGLRenderingContext: stencilOpSeparate() Methode
        
        
          
                Baseline
                
                  Widely available
                
                
              
        
        
        
          
                
              
                
              
                
              
        
        
      
      This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die WebGLRenderingContext.stencilOpSeparate() Methode der
WebGL API legt die Aktionen des Stencil-Tests für die Vorder- und/oder Rückseite fest.
Syntax
stencilOpSeparate(face, fail, zfail, zpass)
Parameter
- face
- 
Ein GLenum, das angibt, ob der Stencil-Zustand der Vorder- und/oder Rückseite aktualisiert wird. Die möglichen Werte sind:- gl.FRONT
- gl.BACK
- gl.FRONT_AND_BACK
 
- fail
- 
Ein GLenum, das die Funktion angibt, die verwendet wird, wenn der Stencil-Test fehlschlägt. Der Standardwert istgl.KEEP.
- zfail
- 
Ein GLenum, das die Funktion angibt, die verwendet wird, wenn der Stencil-Test besteht, der Tiefentest jedoch fehlschlägt. Der Standardwert istgl.KEEP.
- zpass
- 
Ein GLenum, das die Funktion angibt, die verwendet wird, wenn sowohl der Stencil-Test als auch der Tiefentest bestehen, oder wenn der Stencil-Test besteht und kein Tiefenpuffer vorhanden ist oder der Tiefentest deaktiviert ist. Der Standardwert istgl.KEEP.
Rückgabewert
Keiner (undefined).
Konstanten
- gl.KEEP
- 
Behält den aktuellen Wert bei. 
- gl.ZERO
- 
Setzt den Wert des Stencil-Puffers auf 0. 
- gl.REPLACE
- 
Setzt den Wert des Stencil-Puffers auf den Referenzwert, wie durch WebGLRenderingContext.stencilFunc()angegeben.
- gl.INCR
- 
Erhöht den aktuellen Wert des Stencil-Puffers. Begrenzt auf den maximal darstellbaren vorzeichenlosen Wert. 
- gl.INCR_WRAP
- 
Erhöht den aktuellen Wert des Stencil-Puffers. Setzt den Stencil-Pufferwert auf null zurück, wenn der maximal darstellbare vorzeichenlose Wert überschritten wird. 
- gl.DECR
- 
Verringert den aktuellen Wert des Stencil-Puffers. Begrenzt auf 0. 
- gl.DECR_WRAP
- 
Verringert den aktuellen Wert des Stencil-Puffers. Setzt den Stencil-Pufferwert auf den maximal darstellbaren vorzeichenlosen Wert, wenn der Stencil-Pufferwert 0 beträgt. 
- gl.INVERT
- 
Invertiert den aktuellen Wert des Stencil-Puffers bitweise. 
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.stencilOpSeparate(gl.FRONT, gl.INCR, gl.DECR, gl.INVERT);
Um aktuelle Informationen über das Bestehen oder Nichtbestehen von Stencil- und Tiefentests zu erhalten, fragen Sie die
folgenden Konstanten mit getParameter() ab.
gl.getParameter(gl.STENCIL_FAIL);
gl.getParameter(gl.STENCIL_PASS_DEPTH_PASS);
gl.getParameter(gl.STENCIL_PASS_DEPTH_FAIL);
gl.getParameter(gl.STENCIL_BACK_FAIL);
gl.getParameter(gl.STENCIL_BACK_PASS_DEPTH_PASS);
gl.getParameter(gl.STENCIL_BACK_PASS_DEPTH_FAIL);
gl.getParameter(gl.STENCIL_BITS);
Spezifikationen
| Specification | 
|---|
| WebGL Specification> # 5.14.3> | 
Browser-Kompatibilität
Loading…