WebGLRenderingContext: stencilOpSeparate() 方法
注意:此功能在 Web Workers 中可用。
WebGLRenderingContext.stencilOpSeparate() 方法是 WebGL API 的一部分,用於設定正面和/或背面剔除的模板測試操作。
語法
js
stencilOpSeparate(face, fail, zfail, zpass)
引數
返回值
無(undefined)。
常量
gl.KEEP-
保留當前值。
gl.ZERO-
將模板緩衝區設定為 0。
gl.REPLACE-
將模板緩衝區設定為由
WebGLRenderingContext.stencilFunc()指定的參考值。 gl.INCR-
增加當前模板緩衝區值。鉗制到可表示的最大無符號值。
gl.INCR_WRAP-
增加當前模板緩衝區值。在增加到可表示的最大無符號值時,將模板緩衝區值迴繞到零。
gl.DECR-
減少當前模板緩衝區值。鉗制到 0。
gl.DECR_WRAP-
減少當前模板緩衝區值。在減少到 0 時,將模板緩衝區值迴繞到可表示的最大無符號值。
gl.INVERT-
按位反轉當前模板緩衝區值。
示例
預設情況下,模板測試是停用的。要啟用或停用模板測試,請使用帶有引數 gl.STENCIL_TEST 的 enable() 和 disable() 方法。
js
gl.enable(gl.STENCIL_TEST);
gl.stencilOpSeparate(gl.FRONT, gl.INCR, gl.DECR, gl.INVERT);
要獲取關於模板和深度透過或失敗的當前資訊,請使用 getParameter() 查詢以下常量。
js
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);
規範
| 規範 |
|---|
| WebGL 規範 # 5.14.3 |
瀏覽器相容性
載入中…