Spec-Zone.ru › Web APIs

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

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

Спецификация
Спецификация WebGL
# 5.14.5
Спецификация WebGL 2.0
# 3.7.1

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

Рабочие столы Мобильные устройства
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

См. также

  • WebGLRenderingContext.createBuffer()
  • WebGLRenderingContext.deleteBuffer()
  • WebGLRenderingContext.isBuffer()
  • Другие буферы: WebGLFramebuffer, WebGLRenderbuffer

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API