WebGLRenderingContext:bindBuffer() 方法

基线 广泛可用

此功能已相当成熟,并且可以在许多设备和浏览器版本上运行。它从 2015 年 7 月.

报告反馈

语法

WebGLRenderingContext.bindBuffer() 方法是 WebGL API 的一部分,用于将给定的 WebGLBuffer 绑定到目标。
bindBuffer(target, buffer)

js

参数

target

一个 GLenum,指定绑定点(目标)。可能的取值

gl.ARRAY_BUFFER

包含顶点属性的缓冲区,例如顶点坐标、纹理坐标数据或顶点颜色数据。

gl.ELEMENT_ARRAY_BUFFER

用于元素索引的缓冲区。

当使用 WebGL 2 上下文 时,以下值也会可用

gl.COPY_READ_BUFFER

用于将一个缓冲区对象复制到另一个缓冲区对象的缓冲区。

gl.COPY_READ_BUFFER

gl.COPY_WRITE_BUFFER

gl.TRANSFORM_FEEDBACK_BUFFER

用于变换反馈操作的缓冲区。

gl.UNIFORM_BUFFER

用于存储统一块的缓冲区。

gl.PIXEL_PACK_BUFFER

用于像素传输操作的缓冲区。

gl.PIXEL_PACK_BUFFER

gl.PIXEL_UNPACK_BUFFER

buffer

要绑定的 WebGLBuffer

返回值

无 (undefined).

异常

每个 WebGLBuffer 只能绑定到一个目标。尝试将缓冲区绑定到另一个目标将抛出 INVALID_OPERATION 错误,并且当前缓冲区绑定将保持不变。

示例

使用 deleteBuffer 标记为删除的 WebGLBuffer 无法(重新)绑定。尝试这样做会生成 INVALID_OPERATION 错误,并且当前绑定将保持不变。

WebGLRenderingContext.bindBuffer() 方法是 WebGL API 的一部分,用于将给定的 WebGLBuffer 绑定到目标。
const canvas = document.getElementById("canvas");
const gl = canvas.getContext("webgl");
const buffer = gl.createBuffer();

gl.bindBuffer(gl.ARRAY_BUFFER, buffer);

将缓冲区绑定到目标

获取当前绑定

WebGLRenderingContext.bindBuffer() 方法是 WebGL API 的一部分,用于将给定的 WebGLBuffer 绑定到目标。
gl.getParameter(gl.ARRAY_BUFFER_BINDING);
gl.getParameter(gl.ELEMENT_ARRAY_BUFFER_BINDING);

规范

要检查当前缓冲区绑定,请查询 ARRAY_BUFFER_BINDINGELEMENT_ARRAY_BUFFER_BINDING 常量。
规范
# 5.14.5
WebGL 规范
# 3.7.1

浏览器兼容性

WebGL 2.0 规范

另请参阅