Opengl es 为什么我会犯这个错误;WebGL:无效“操作:DrawArray:前后模具设置不匹配”;

Opengl es 为什么我会犯这个错误;WebGL:无效“操作:DrawArray:前后模具设置不匹配”;,opengl-es,webgl,Opengl Es,Webgl,我的代码如下。错误行是最后一行 gl.enable(gl.STENCIL_TEST); gl.stencilFuncSeparate(gl.FRONT, gl.ALWAYS, 1, 0xFF); gl.stencilOpSeparate(gl.FRONT, gl.KEEP, gl.KEEP, gl.REPLACE); gl.stencilMaskSeparate(gl.FRONT, 0xFF); gl.clear(gl.STENCIL_BUFFER_BIT); gl.d

我的代码如下。错误行是最后一行

  gl.enable(gl.STENCIL_TEST);
  gl.stencilFuncSeparate(gl.FRONT, gl.ALWAYS, 1, 0xFF);
  gl.stencilOpSeparate(gl.FRONT, gl.KEEP, gl.KEEP, gl.REPLACE);
  gl.stencilMaskSeparate(gl.FRONT, 0xFF);
  gl.clear(gl.STENCIL_BUFFER_BIT);

  gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4);//error line

6.10模板单独的遮罩和参考值 在WebGL API中,在模具操作中为正面三角形和背面三角形指定不同的遮罩或参考值是非法的。调用
drawArrays
drawElements
将生成
无效\u操作
错误,如果:

  • STENCIL_WRITEMASK!=STENCIL_BACK_WRITEMASK
    (分别由
    Stencilmask separate
    指定,用于与面的
    值关联的掩码参数)

  • STENCIL\u VALUE\u MASK!=STENCIL_BACK_VALUE_MASK
    (分别由
    stencilFuncSeparate
    指定,用于与面的
    FRONT
    BACK
    值关联的掩码参数)

  • STENCIL\u REF!=STENCIL_BACK_REF
    (分别由
    stencilFuncSeparate
    为与面的
    FRONT
    BACK
    值关联的REF参数指定)

我猜必须添加它,这样WebGL才能在DirectX中运行