WebGLRenderingContext.bindBuffer()

La méthode WebGLRenderingContext.bindBuffer() de l'API WebGL lie un WebGLBuffer donné à une cible.

Syntaxe

js
void gl.bindBuffer(cible, tampon);

Paramètres

cible

Un GLenum (en-US) spécifiant le point de liaison (cible). Valeurs possibles :

  • gl.ARRAY_BUFFER : tampon contenant des attributs de sommet, tels que des coordonnées de vertex, des données de coordonnées de texture ou des données de couleurs de sommet ;
  • gl.ELEMENT_ARRAY_BUFFER : tampon utilisé pour les indices d'éléments ;
  • Lors de l'utilisation d'un WebGL context 2, les valeurs suivantes sont disponibles en plus :
    • gl.COPY_READ_BUFFER : tampon pour la copie d'un objet tampon à un autre ;
    • gl.COPY_WRITE_BUFFER : tampon pour la copie d'un objet tampon à un autre ;
    • gl.TRANSFORM_FEEDBACK_BUFFER : tampon pour les opérations de retour de la transformation ;
    • gl.UNIFORM_BUFFER : tampon utilisé pour stocker des blocs uniformes ;
    • gl.PIXEL_PACK_BUFFER : tampon utilisé pour les opérations de transfert de pixels ;
    • gl.PIXEL_UNPACK_BUFFER : tampon utilisé pour les opérations de transfert de pixels.
tampon

Un WebGLBuffer à lier.

Valeur retournée

Aucune.

Exceptions

Une seule cible peut être liée à un WebGLBuffer donné. Une tentative de lier le tampon à une autre cible déclenchera une erreur INVALID_OPERATION et la liaison du tampon en cours restera la même.

Exemples

Liaison d'un tampon à une cible

js
var canevas = document.getElementById("canevas");
var gl = canevas.getContext("webgl");
var tampon = gl.createBuffer();

gl.bindBuffer(gl.ARRAY_BUFFER, tampon);

Récupération des liaisons en cours

Pour vérifier les liaisons de tampon en cours, interrogez les constantes ARRAY_BUFFER_BINDING et ELEMENT_ARRAY_BUFFER_BINDING.

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

Spécifications

Specification
WebGL Specification
# 5.14.5
WebGL 2.0 Specification
# 3.7.1

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi