MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

WebGLRenderingContext.bindBuffer()

这篇翻译不完整。请帮忙从英语翻译这篇文章

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错误,并且当前的缓冲区绑定将保持不变。

示例

将缓冲区绑定到目标

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 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
Standard Man page of the (similar) OpenGL ES 3 API.

浏览器兼容性

No compatibility data found. Please contribute data for "api/WebGLRenderingContext" to the MDN compatibility data repository.

另见

文档标签和贡献者

 此页面的贡献者: shenwenkai, C0DE_MONKEY
 最后编辑者: shenwenkai,