WebGLRenderingContext.bindBuffer() - Web API 接口参考 编辑
WebGL API的WebGLRenderingContext.bindBuffer()方法将给定的WebGLBuffer
绑定到目标。
语法
void gl.bindBuffer(target, buffer);
参数
- target
-
GLenum
指定绑定点(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. |
浏览器兼容性
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
No compatibility data found. Please contribute data for "api/WebGLRenderingContext" (depth: WebGLRenderingContext.bindBuffer) to the MDN compatibility data repository.
另见
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论