WebGLRenderingContext.bindBuffer()
WebGL API的WebGLRenderingContext.bindBuffer()方法将给定的WebGLBuffer
绑定到目标。
语法
void gl.bindBuffer(target, buffer);
参数
- target
-
GLenum
(en-US) 指定绑定点(target)。 可能的值:gl.ARRAY_BUFFER
: 包含顶点属性的Buffer,如顶点坐标,纹理坐标数据或顶点颜色数据。gl.ELEMENT_ARRAY_BUFFER
: 用于元素索引的Buffer。- 当使用 WebGL 2 context时,可以使用以下值:
gl.COPY_READ_BUFFER
: 从一个Buffer对象复制到另一个Buffer对象。gl.COPY_WRITE_BUFFER
: 从一个Buffer对象复制到另一个Buffer对象。gl.TRANSFORM_FEEDBACK_BUFFER
: Buffer for transform feedback operations.gl.UNIFORM_BUFFER
: 用于存储统一块的Buffer。gl.PIXEL_PACK_BUFFER
: 用于像素传输操作的Buffer。gl.PIXEL_UNPACK_BUFFER
: 用于像素传输操作的Buffer。
- buffer
- 要绑定的
WebGLBuffer
。
返回值
None.
异常
只有一个目标可以绑定到给定的 WebGLBuffer
。 尝试将缓冲区绑定到另一个目标将引发 INVALID_OPERATION
错误,并且当前的缓冲区绑定将保持不变。
一个被deleteBuffer
标记为删除的WebGLBuffer
不可重新被绑定,尝试这样做将生成 INVALID_OPERATION
错误,并且当前绑定将保持不变。
示例
将缓冲区绑定到目标
var canvas = document.getElementById('canvas');
var gl = canvas.getContext('webgl');
var buffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
获取当前绑定
要检查当前的缓冲区绑定,请查询ARRAY_BUFFER_BINDING和ELEMENT_ARRAY_BUFFER_BINDING常量。
gl.getParameter(gl.ARRAY_BUFFER_BINDING);
gl.getParameter(gl.ELEMENT_ARRAY_BUFFER_BINDING);
规范
Specification | Status | Comment |
---|---|---|
WebGL 1.0 bindBuffer |
Recommendation | Initial definition for WebGL. |
OpenGL ES 2.0 glBindBuffer |
Standard | Man page of the (similar) OpenGL ES 2 API. |
WebGL 2.0 bindBuffer |
Editor's Draft |
Updated definition for WebGL 2. Adds new |
OpenGL ES 3.0 glBindBuffer |
Standard | Man page of the (similar) OpenGL ES 3 API. |
浏览器兼容性
No compatibility data found for api/WebGLRenderingContext
.
Check for problems with this page or contribute missing data to mdn/browser-compat-data.