--- title: WebGLRenderingContext.bufferData() slug: Web/API/WebGLRenderingContext/bufferData tags: - API - Méthode - Reference - WebGL - WebGLRenderingContext translation_of: Web/API/WebGLRenderingContext/bufferData ---
La méthode WebGLRenderingContext.bufferData()
de l'API WebGL initialise et crée le magasin de données de l'objet tampon.
// WebGL1: void gl.bufferData(cible, taille, utilisation); void gl.bufferData(cible, ArrayBuffer? donneesSrc, utilisation); void gl.bufferData(cible, ArrayBufferView donneesSrc, utilisation); // WebGL2: void gl.bufferData(cible, ArrayBufferView donneesSrc, utilisation, decalageSrc, longueur);
gl.ARRAY_BUFFER
: tampon contenant des attributs de sommet, tels que des coordonnées de sommet, 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 ;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 transformation ;gl.UNIFORM_BUFFER
: tampon utilisé pour stocker des blocs uniform ;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.null
, un magasin de données est quand même créé, mais son contenu n'est ni initialisé, ni défini.gl.STATIC_DRAW
: le contenu du tampon est susceptible d'être utilisé souvent mais de ne pas changer souvent ; du contenu est écrit dans le tampon, mais non lu ;gl.DYNAMIC_DRAW
: le contenu du tampon est susceptible d'être souvent utilisé et de changer souvent ; du contenu est écrit dans le tampon, mais non lu ;gl.STREAM_DRAW
: le contenu du tampon est susceptible de ne pas être utilisé souvent ; du contenu est écrit dans le tampon, mais non lu ;gl.STATIC_READ
: le contenu du tampon est susceptible d'être utilisé souvent et de ne pas changer souvent ; du contenu est lu depuis le tampon, mais non écrit ;gl.DYNAMIC_READ
: le contenu du tampon est susceptible d'être utilisé souvent et de changer souvent ; du contenu est lu depuis le tampon, mais non écrit ;gl.STREAM_READ
: le contenu du tampon est susceptible de ne pas être utilisé souvent ; du contenu est lu depuis le tampon, mais non écrit ;gl.STATIC_COPY
: le contenu du tampon est susceptible d'être utilisé souvent et de ne pas changer souvent ; aucun contenu n'est écrit ou lu par l'utilisateur ;gl.DYNAMIC_COPY
: le contenu du tampon est susceptible d'être utilisé souvent et de changer souvent ; aucun contenu n'est écrit ou lu par l'utilisateur ;gl.STREAM_COPY
: le contenu du tampon est susceptible d'être utilisé souvent et de ne pas changer souvent ; aucun contenu n'est écrit ou lu par l'utilisateur.longueur
{{optional_inline}}Aucune.
gl.OUT_OF_MEMORY
est déclenchée si le contexte ne peut pas créer un magasin de données de la taille
indiquée.gl.INVALID_VALUE
est déclenchée si taille
est négative.gl.INVALID_ENUM
est déclenchée si cible
ouutilisation
ne sont pas l'un des enums autorisés.bufferData
var canevas = document.getElementById('canevas'); var gl = canevas.getContext('webgl'); var tampon = gl.createBuffer(); gl.bindBuffer(gl.ARRAY_BUFFER, tampon); gl.bufferData(gl.ARRAY_BUFFER, 1024, gl.STATIC_DRAW);
Pour vérifier l'utilisation du tampon en cours et la taille du tampon, utiliser la méthode {{domxref("WebGLRenderingContext.getBufferParameter()")}}.
gl.getBufferParameter(gl.ARRAY_BUFFER, gl.BUFFER_SIZE); gl.getBufferParameter(gl.ARRAY_BUFFER, gl.BUFFER_USAGE);
Spécification | Statut | Commentaire |
---|---|---|
{{SpecName('WebGL', "#5.14.5", "bufferData")}} | {{Spec2('WebGL')}} | Définition initiale. |
{{SpecName('OpenGL ES 2.0', "glBufferData.xml", "glBufferData")}} | {{Spec2('OpenGL ES 2.0')}} |
Page man de l’API OpenGL. |
{{SpecName('OpenGL ES 3.0', "glBufferData.xhtml", "glBufferData")}} | {{Spec2('OpenGL ES 3.0')}} |
Page man de l’API OpenGL ES 3 (similaire). Ajoute les noouveaux tamponscible :gl.COPY_READ_BUFFER ,gl.COPY_WRITE_BUFFER ,gl.TRANSFORM_FEEDBACK_BUFFER ,gl.UNIFORM_BUFFER ,gl.PIXEL_PACK_BUFFER ,gl.PIXEL_UNPACK_BUFFER Ajoute les nouvelles indications d' utilisation :gl.STATIC_READ ,gl.DYNAMIC_READ ,gl.STREAM_READ ,gl.STATIC_COPY ,gl.DYNAMIC_COPY ,gl.STREAM_COPY . |
Le tableau de compatibilité de cette page est généré à partir de données structurées. Si vous souhaitez contribuer aux données, merci de regarder https://github.com/mdn/browser-compat-data et envoyez-nous une pull request.
{{Compat("api.WebGLRenderingContext.bufferData")}}