WebGLRenderingContext: stencilFunc() 方法
注意:此功能在 Web Workers 中可用。
WebGLRenderingContext.stencilFunc() 方法是 WebGL API 的一部分,用於設定模板測試的前後函式和參考值。
模板功能允許按畫素啟用和停用繪製。它通常在多通道渲染中用於實現特殊效果。
語法
js
stencilFunc(func, ref, mask)
引數
func-
一個
GLenum,指定測試函式。預設函式是gl.ALWAYS。可能的值有:gl.NEVER: 永遠不透過。gl.LESS: 當(ref & mask) < (stencil & mask)時透過。gl.EQUAL: 當(ref & mask) = (stencil & mask)時透過。gl.LEQUAL: 當(ref & mask) <= (stencil & mask)時透過。gl.GREATER: 當(ref & mask) > (stencil & mask)時透過。gl.NOTEQUAL: 當(ref & mask) !== (stencil & mask)時透過。gl.GEQUAL: 當(ref & mask) >= (stencil & mask)時透過。gl.ALWAYS: 永遠透過。
ref-
一個
GLint,指定模板測試的參考值。此值將被限制在 0 到 2^n - 1 的範圍內,其中 n 是模板緩衝區中的位數。預設值為 0。 mask-
一個
GLuint,指定一個按位掩碼,用於在進行測試時對參考值和儲存的模板值執行 AND 操作。預設值為全 1。
返回值
無(undefined)。
示例
預設情況下,模板測試是停用的。要啟用或停用模板測試,請使用帶有引數 gl.STENCIL_TEST 的 enable() 和 disable() 方法。
js
gl.enable(gl.STENCIL_TEST);
gl.stencilFunc(gl.LESS, 0, 0b1110011);
要獲取當前的模板函式、參考值或其他模板資訊,請使用 getParameter() 查詢以下常量。
js
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);
規範
| 規範 |
|---|
| WebGL 規範 # 5.14.3 |
瀏覽器相容性
載入中…