0

在 openGL 中,通常通过调用(OGL 等效项)“解除绑定”您的 ARRAY_BUFFER 和任何绑定的 VAO:

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) 中这样做吗?

4

1 回答 1

2

你必须传入null不是 0

gl.bindBuffer(gl.ARRAY_BUFFER, null)
gl.bindVertexArray(null)

由于各种原因,WebGL 不使用GLint像 OpenGL 这样的 id,它使用 objects WebGLBufferWebGLTextureWebGLVertexArrayObject等......并且 0 版本是null.

于 2017-05-11T00:51:34.390 回答