WebGLRenderingContext: bindBuffer() 方法
注意:此功能在 Web Workers 中可用。
WebGLRenderingContext.bindBuffer() 方法是 WebGL API 的一部分,用于将一个给定的 WebGLBuffer 绑定到一个目标上。
语法
js
bindBuffer(target, buffer)
参数
目标-
一个
GLenum,指定绑定点(目标)。可能的值gl.ARRAY_BUFFER-
包含顶点属性的缓冲区,例如顶点坐标、纹理坐标数据或顶点颜色数据。
gl.ELEMENT_ARRAY_BUFFER-
用于元素索引的缓冲区。
使用 WebGL 2 上下文时,还可以使用以下值:
gl.COPY_READ_BUFFER-
用于将一个缓冲区对象复制到另一个缓冲区的缓冲区。
gl.COPY_WRITE_BUFFER-
用于将一个缓冲区对象复制到另一个缓冲区的缓冲区。
gl.TRANSFORM_FEEDBACK_BUFFER-
用于变换反馈操作的缓冲区。
gl.UNIFORM_BUFFER-
用于存储 uniform 块的缓冲区。
gl.PIXEL_PACK_BUFFER-
用于像素传输操作的缓冲区。
gl.PIXEL_UNPACK_BUFFER-
用于像素传输操作的缓冲区。
buffer-
要绑定的
WebGLBuffer。
返回值
无(undefined)。
异常
一个给定的 WebGLBuffer 只能绑定到一个目标上。尝试将缓冲区绑定到另一个目标将抛出 INVALID_OPERATION 错误,并且当前的缓冲区绑定将保持不变。
已被标记为删除(使用 deleteBuffer)的 WebGLBuffer 不能被(重新)绑定。尝试这样做将生成 INVALID_OPERATION 错误,并且当前的绑定将保持不变。
示例
将缓冲区绑定到目标
js
const canvas = document.getElementById("canvas");
const gl = canvas.getContext("webgl");
const buffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
获取当前绑定
要检查当前的缓冲区绑定,请查询 ARRAY_BUFFER_BINDING 和 ELEMENT_ARRAY_BUFFER_BINDING 常量。
js
gl.getParameter(gl.ARRAY_BUFFER_BINDING);
gl.getParameter(gl.ELEMENT_ARRAY_BUFFER_BINDING);
规范
| 规范 |
|---|
| WebGL 规范 # 5.14.5 |
| WebGL 2.0 规范 # 3.7.1 |
浏览器兼容性
加载中…