WebGL中是否不允许绑定gl.ARRAY_BUFFER和Vertex Attrib Array为0(二)
Are we not allowed to bind gl.ARRAY_BUFFER and Vertex Attrib Array to 0 in WebGL (2)
在 openGL 中,"unbind" 您的 ARRAY_BUFFER 和任何绑定的 VAO 很常见,方法是调用(相当于 OGL):
gl.bindBuffer(gl.ARRAY_BUFFER, 0)
gl.bindVertexArray(0)
但是,当我在 WebGL (2) 中执行此操作时,出现以下错误:
Uncaught TypeError: Failed to execute 'bindBuffer' on 'WebGL2RenderingContext': parameter 2 is not of type 'WebGLBuffer'.
我们不应该在 WebGL (2) 中这样做吗?
你必须传入 null
而不是 0
gl.bindBuffer(gl.ARRAY_BUFFER, null)
gl.bindVertexArray(null)
出于各种原因,WebGL 不像 OpenGL 那样使用 GLint
ID,它使用对象 WebGLBuffer
、WebGLTexture
、WebGLVertexArrayObject
等...以及 0 版本是 null
.
在 openGL 中,"unbind" 您的 ARRAY_BUFFER 和任何绑定的 VAO 很常见,方法是调用(相当于 OGL):
gl.bindBuffer(gl.ARRAY_BUFFER, 0)
gl.bindVertexArray(0)
但是,当我在 WebGL (2) 中执行此操作时,出现以下错误:
Uncaught TypeError: Failed to execute 'bindBuffer' on 'WebGL2RenderingContext': parameter 2 is not of type 'WebGLBuffer'.
我们不应该在 WebGL (2) 中这样做吗?
你必须传入 null
而不是 0
gl.bindBuffer(gl.ARRAY_BUFFER, null)
gl.bindVertexArray(null)
出于各种原因,WebGL 不像 OpenGL 那样使用 GLint
ID,它使用对象 WebGLBuffer
、WebGLTexture
、WebGLVertexArrayObject
等...以及 0 版本是 null
.