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);

规范

SpecificationStatusComment
WebGL 1.0
bindBuffer
RecommendationInitial definition for WebGL.
OpenGL ES 2.0
glBindBuffer
StandardMan page of the (similar) OpenGL ES 2 API.
WebGL 2.0
bindBuffer
Editor's Draft

Updated definition for WebGL 2.

Adds new target buffers:
gl.COPY_READ_BUFFER,
gl.COPY_WRITE_BUFFER,
gl.TRANSFORM_FEEDBACK_BUFFER,
gl.UNIFORM_BUFFER,
gl.PIXEL_PACK_BUFFER,
gl.PIXEL_UNPACK_BUFFER

OpenGL ES 3.0
glBindBuffer
StandardMan page of the (similar) OpenGL ES 3 API.

浏览器兼容性

No compatibility data found. Please contribute data for "api/WebGLRenderingContext" (depth: WebGLRenderingContext.bindBuffer) to the MDN compatibility data repository.

另见

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:89 次

字数:6331

最后编辑:7年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文