WebGLRenderingContext.bindBuffer()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

ebGLRenderingContext.bindBuffer() метод WebGL API связывает WebGLBuffer c точкой связывания(Атрибут регистром).

Синтаксис

void gl.bindBuffer(target, buffer);

Параметры

target

GLenum определяет точку связывания (target). Возможные значения:

  • gl.ARRAY_BUFFER: Буфер содержащий вершинные атрибуты, такие как координаты, текстурные координаты(UV) или цвет вершины.

  • gl.ELEMENT_ARRAY_BUFFER: Буфер использующий для индексирования элементов.

  • When using a WebGL 2 context, the following values are available additionally:

    • gl.COPY_READ_BUFFER: Buffer for copying from one buffer object to another.
    • gl.COPY_WRITE_BUFFER: Buffer for copying from one buffer object to another.
    • gl.TRANSFORM_FEEDBACK_BUFFER: Buffer for transform feedback operations.
    • gl.UNIFORM_BUFFER: Buffer used for storing uniform blocks.
    • gl.PIXEL_PACK_BUFFER: Buffer used for pixel transfer operations.
    • gl.PIXEL_UNPACK_BUFFER: Buffer used for pixel transfer operations.
buffer

WebGLBuffer с которым осуществляется связывание.

Return value

Нет.

Exceptions

Only one target can be bound to a given WebGLBuffer. An attempt to bind the buffer to another target will throw an INVALID_OPERATION error and the current buffer binding will remain the same.

Examples

Binding a buffer to a target

js
var canvas = document.getElementById("canvas");
var gl = canvas.getContext("webgl");
var buffer = gl.createBuffer();

gl.bindBuffer(gl.ARRAY_BUFFER, buffer);

Getting current bindings

To check the current buffer bindings, query the ARRAY_BUFFER_BINDING and ELEMENT_ARRAY_BUFFER_BINDING constants.

js
gl.getParameter(gl.ARRAY_BUFFER_BINDING);
gl.getParameter(gl.ELEMENT_ARRAY_BUFFER_BINDING);

Спецификации

Specification
WebGL Specification
# 5.14.5
WebGL 2.0 Specification
# 3.7.1

Совместимость с браузерами

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
bindBuffer

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Смотрите также