WebGLRenderingContext: метод bindBuffer()
Базовая поддержка Широко распространена
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с июля 2015 года.
Примечание: Эта функция доступна в Web Workers.
Метод WebGLRenderingContext.bindBuffer() API WebGL связывает заданный WebGLBuffer с заданным целевым значением.
Синтаксис
bindBuffer(target, buffer)
Параметры
target-
GLenum, определяющий точку привязки (цель). Возможные значения:gl.ARRAY_BUFFER-
Буфер, содержащий атрибуты вершин, такие как координаты вершин, данные координат текстур или данные цвета вершин.
gl.ELEMENT_ARRAY_BUFFER-
Буфер, используемый для индексов элементов.
При использовании контекста WebGL 2 дополнительно доступны следующие значения:
gl.COPY_READ_BUFFER-
Буфер для копирования из одного буфера в другой.
gl.COPY_WRITE_BUFFER-
Буфер для копирования из одного буфера в другой.
gl.TRANSFORM_FEEDBACK_BUFFER-
Буфер для операций обратной связи преобразования.
gl.UNIFORM_BUFFER-
Буфер для хранения блоков униформ.
gl.PIXEL_PACK_BUFFER-
Буфер, используемый для операций передачи пикселей.
gl.PIXEL_UNPACK_BUFFER-
Буфер, используемый для операций передачи пикселей.
buffer-
WebGLBufferдля привязки.
Возвращаемое значение
Ничего (undefined).
Исключения
Только одна цель может быть привязана к данному WebGLBuffer. Попытка привязать буфер к другой цели вызовет ошибку INVALID_OPERATION и текущая привязка буфера останется неизменной.
WebGLBuffer, который был помечен для удаления с помощью deleteBuffer, не может быть (повторно) привязан. Попытка сделать это сгенерирует ошибку INVALID_OPERATION, и текущая привязка останется без изменений.
Примеры
Привязка буфера к цели
const canvas = document.getElementById("canvas");
const gl = canvas.getContext("webgl");
const 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);
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
bindBuffer |
9 | 12 | 4 | 12 | 5.1 | 25 | 4 | 12 | 8 | 1.5 | 4.4.3 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/bindBuffer