Cette fonction est expérimentale
Puisque cette fonction est toujours en développement dans certains navigateurs, veuillez consulter le tableau de compatibilité pour les préfixes à utiliser selon les navigateurs.
Il convient de noter qu'une fonctionnalité expérimentale peut voir sa syntaxe ou son comportement modifié dans le futur en fonction des évolutions de la spécification.

L'interface WebGL2RenderingContext fournit le contexte de rendu OpenGL ES 3.0 pour la surface de dessin d'un élément HTML <canvas>.

Pour obtenir un objet de cette interface, appelez getContext() sur un élément <canvas>, en fournissant "webgl2" comme argument :

var canevas = document.getElementById('monCanevas');
var gl = canevas.getContext('webgl2');

WebGL 2 est une extension de WebGL 1. L'interface WebGL2RenderingContext implémente tous les membres de l'interface WebGLRenderingContext. Certaines méthodes du contexte WebGL 1 peuvent accepter des valeurs supplémentaires lorsqu'elles sont utilisées dans un contexte WebGL 2. Vous trouverez cette information sur les pages de référence WebGL 1.

Le didacticiel WebGL contient plus d'informations, d'exemples et de ressources sur la façon de démarrer avec WebGL.

Constantes

Voir la page des constantes WebGL.

Informations d'état

WebGL2RenderingContext.getIndexedParameter()
Retourne la valeur indexée pour la cible donnée.

Tampons

WebGL2RenderingContext.bufferData()
Initialise et crée le magasin de données de l'objet tampon.
WebGL2RenderingContext.bufferSubData()
Met à jour un sous-ensemble d'un magasin de données d'un objet tampon.
WebGL2RenderingContext.copyBufferSubData()
Copie une partie des données d'un tampon vers un autre tampon.
WebGL2RenderingContext.getBufferSubData()
Lit les données d'un tampon et les écrit dans un ArrayBuffer ou un SharedArrayBuffer.

Tampons d'image

WebGL2RenderingContext.blitFramebuffer()
Transfère un bloc de pixels du tampon d'image lu vers le tampon d'image de dessin.
WebGL2RenderingContext.framebufferTextureLayer()
Attache une seule couche de texture à un tampon d'image.
WebGL2RenderingContext.invalidateFramebuffer()
Invalide le contenu des éléments joints dans un tampon d'image.
WebGL2RenderingContext.invalidateSubFramebuffer()
Invalide le contenu des éléments joints dans un tampon d'image.
WebGL2RenderingContext.readBuffer()
Sélectionne un tampon de couleur comme source pour les pixels.

Tampons de rendu

WebGL2RenderingContext.getInternalformatParameter()
Retourne des informations sur le support, dépendant de l'implémentation, des formats internes.
WebGL2RenderingContext.renderbufferStorageMultisample()
Crée et initialise le magasin de données d'un objet tampon de rendu et permet de d'indiquer le nombre d'échantillons à utiliser.

Textures

WebGL2RenderingContext.texStorage2D()
Spécifie tous les niveaux d'un stockage de texture bidimensionnelle.
WebGL2RenderingContext.texStorage3D()
Spécifie tous les niveaux d'une texture tridimensionnelle ou d'une texture de tableau bidimensionnelle.
WebGL2RenderingContext.texImage3D()
Spécifie une image de texture tridimensionnelle.
WebGL2RenderingContext.texSubImage3D()
Spécifie un sous-rectangle de la texture 3D en cours.
WebGL2RenderingContext.copyTexSubImage3D()
Copie des pixels du tampon WebGLFrame en cours dans une sous-image de texture 3D existante.
WebGL2RenderingContext.compressedTexImage3D()
Spécifie une image de texture tridimensionnelle dans un format compressé.
WebGL2RenderingContext.compressedTexSubImage3D()
Spécifie un sous-rectangle tridimensionnel pour une image de texture dans un format compressé.

Programmes et shaders

WebGL2RenderingContext.getFragDataLocation()
Retourne la liaison des numéros de couleur aux variables de sortie varying définies par l'utilisateur.

Uniforms et attributs

WebGL2RenderingContext.uniform[1234][uif][v]()
Méthodes spécifiant les valeurs des variables uniform.
WebGL2RenderingContext.uniformMatrix[234]x[234]fv()
Méthodes spécifiant les valeurs matricielles pour les variables uniform.
WebGL2RenderingContext.vertexAttribI4[u]i[v]()
Méthodes spécifiant les valeurs entières des attributs de sommet génériques.
WebGL2RenderingContext.vertexAttribIPointer()
Spécifie les formats et les emplacements des données entières des attributs de sommet dans un tableau d'attributs de sommet.

Tampons de dessin

WebGL2RenderingContext.vertexAttribDivisor()
Modifie la vitesse à laquelle les attributs de sommet génériques progressent lors du rendu de plusieurs instances de primitives avec gl.drawArraysInstanced() et gl.drawElementsInstanced().
WebGL2RenderingContext.drawArraysInstanced()
Affiche des primitives à partir des données d'un tableau. En outre, elle peut exécuter plusieurs instances de la plage d'éléments.
WebGL2RenderingContext.drawElementsInstanced()
Affiche des primitives à partir des données d'un tableau. En outre, elle peut exécuter plusieurs instances d'un ensemble d'éléments.
WebGL2RenderingContext.drawRangeElements()
Affiche des primitives à partir des données d'un tableau dans la plage donnée.
WebGL2RenderingContext.drawBuffers()
Spécifie une liste de tampons de couleur dans lesquels dessiner.
WebGL2RenderingContext.clearBuffer[fiuv]()
Efface les tampons du tampon d'image actuellement lié.

Objets requêtes

Méthodes pour travailler avec les objets WebGLQuery.

WebGL2RenderingContext.createQuery()
Crée un nouvel objet WebGLQuery.
WebGL2RenderingContext.deleteQuery()
Supprime l'objet WebGLQuery donné.
WebGL2RenderingContext.isQuery()
Retourne true si l'objet donné est un objet WebGLQuery valide.
WebGL2RenderingContext.beginQuery()
Commence une requête asynchrone.
WebGL2RenderingContext.endQuery()
Marque la fin d'une requête asynchrone.
WebGL2RenderingContext.getQuery()
Retourne un objet WebGLQuery pour la cible donnée.
WebGL2RenderingContext.getQueryParameter()
Retourne des informations sur une requête.

Objets échantilloneurs

WebGL2RenderingContext.createSampler()
Crée un nouvel objet WebGLSampler.
WebGL2RenderingContext.deleteSampler()
Supprime l'objet WebGLSampler donné.
WebGL2RenderingContext.bindSampler()
Lie le WebGLSampler donné à une unité de texture.
WebGL2RenderingContext.isSampler()
Retourne true si l'objet donné est un objet WebGLSampler valide.
WebGL2RenderingContext.samplerParameter[if]()
Définit les paramètres de l'échantillonneur.
WebGL2RenderingContext.getSamplerParameter()
Retourne les informations de paramètres de l'échantillonneur.

Objets sync

WebGL2RenderingContext.fenceSync()
Crée un nouvel objet WebGLSync et l'insère dans le flux de commandes GL.
WebGL2RenderingContext.isSync()
Retourne true si l'objet transmis est un objet WebGLSync valide.
WebGL2RenderingContext.deleteSync()
Supprime l'objet WebGLSync donné.
WebGL2RenderingContext.clientWaitSync()

Bloque et attend qu'un objet WebGLSync reçoive un signal ou que l'expiration du délai donné soit reçue.

WebGL2RenderingContext.waitSync()
Retourne immédiatement, mais attend le serveur GL jusqu'à ce que l'objet WebGLSync donné reçoive un signal.
WebGL2RenderingContext.getSyncParameter()
Retourne les informations de paramètres d'un objet WebGLSync.

Retour de transformations

WebGL2RenderingContext.createTransformFeedback()
Crée et initialise les objets WebGLTransformFeedback.
WebGL2RenderingContext.deleteTransformFeedback()
Supprime l'objet WebGLTransformFeedback donné.
WebGL2RenderingContext.isTransformFeedback()
Retourne true si l'objet transmis est un objet WebGLTransformFeedback valide.
WebGL2RenderingContext.bindTransformFeedback()
Lie l'objet WebGLTransformFeedback transmis à l'état GL en cours.
WebGL2RenderingContext.beginTransformFeedback()
Démarre une opération de retour de transformations.
WebGL2RenderingContext.endTransformFeedback()
Termine une opération de retour de transformations.
WebGL2RenderingContext.transformFeedbackVaryings()
Indique les valeurs à enregistrer dans les tampons WebGLTransformFeedback.
WebGL2RenderingContext.getTransformFeedbackVarying()
Retourne des informations sur les variables varying à partir des tampons WebGLTransformFeedback.
WebGL2RenderingContext.pauseTransformFeedback()
Suspend une opération de retour de transformations.
WebGL2RenderingContext.resumeTransformFeedback()
Reprend une opération de retour de transformations.

Objets tampons uniforms

WebGL2RenderingContext.bindBufferBase()
Lie le WebGLBuffer donné au point de liaison donné (cible) à l'indice donné.
WebGL2RenderingContext.bindBufferRange()
Lie une plage du WebGLBuffer donné au point de liaison donné (cible) à l'indice donné.
WebGL2RenderingContext.getUniformIndices()

Récupère les indices d'un certain nombre d'uniforms dans un WebGLProgram.

WebGL2RenderingContext.getActiveUniforms()
Récupère des informations sur les uniforms actifs dans un WebGLProgram.
WebGL2RenderingContext.getUniformBlockIndex()
Récupère l'indice d'un bloc uniform dans un WebGLProgram.
WebGL2RenderingContext.getActiveUniformBlockParameter()
Récupère des informations d'un bloc uniform actif dans un WebGLProgram.
WebGL2RenderingContext.getActiveUniformBlockName()
Récupère le nom du bloc uniform actif à l'indice donné dans un WebGLProgram.
WebGL2RenderingContext.uniformBlockBinding()
Affecte des points de liaison aux blocs uniforms actifs.

Objets de tableaux de sommets

Méthodes pour travailler avec les objets WebGLVertexArrayObject (VAO).

WebGL2RenderingContext.createVertexArray()
Crée un nouveau WebGLVertexArrayObject.
WebGL2RenderingContext.deleteVertexArray()
Supprime le WebGLVertexArrayObject donné.
WebGL2RenderingContext.isVertexArray()
Retourne true si l'objet donné est un WebGLVertexArrayObject valide.
WebGL2RenderingContext.bindVertexArray()
Lie le WebGLVertexArrayObject donné au tampon.

Spécifications

Spécification Statut Commentaire
WebGL 2.0
La définition de 'WebGL2RenderingContext' dans cette spécification.
Brouillon de l'éditeur Définition initiale.

Compatibilité des navigateurs

FonctionnalitéChromeEdgeFirefoxInternet ExplorerOperaSafari
Support simple56 Non51 Non43 Non
beginQuery56 Non51 Non43 Non
beginTransformFeedback56 Non51 Non43 Non
bindBufferBase56 Non51 Non43 Non
bindBufferRange56 Non51 Non43 Non
bindSampler56 Non51 Non43 Non
bindTransformFeedback56 Non51 Non43 Non
bindVertexArray56 Non51 Non43 Non
blitFramebuffer56 Non51 Non43 Non
bufferSubData Oui Non51 Non Oui Non
clearBufferfi56 Non51 Non43 Non
clearBufferfv56 Non51 Non43 Non
clearBufferiv56 Non51 Non43 Non
clearBufferuiv56 Non51 Non43 Non
clientWaitSync56 Non51 Non43 Non
compressedTexImage3D56 Non51 Non43 Non
compressedTexSubImage3D56 Non51 Non43 Non
copyBufferSubData56 Non51 Non43 Non
copyTexSubImage3D56 Non51 Non43 Non
createQuery56 Non51 Non43 Non
createSampler56 Non51 Non43 Non
createTransformFeedback56 Non51 Non43 Non
createVertexArray56 Non51 Non43 Non
deleteQuery56 Non51 Non43 Non
deleteSampler56 Non51 Non43 Non
deleteSync56 Non51 Non43 Non
deleteTransformFeedback56 Non51 Non43 Non
deleteVertexArray56 Non51 Non43 Non
drawArraysInstanced56 Non51 Non43 Non
drawBuffers56 Non51 Non43 Non
drawElementsInstanced56 Non51 Non43 Non
drawRangeElements56 Non51 Non43 Non
endQuery56 Non51 Non43 Non
endTransformFeedback56 Non51 Non43 Non
fenceSync56 Non51 Non43 Non
framebufferTextureLayer56 Non51 Non43 Non
getActiveUniformBlockName56 Non51 Non43 Non
getActiveUniformBlockParameter56 Non51 Non43 Non
getActiveUniforms56 Non51 Non43 Non
getBufferSubData56 Non51 Non Oui Non
getFragDataLocation56 Non51 Non43 Non
getInternalformatParameter56 Non51 Non43 Non
getQuery56 Non51 Non43 Non
getQueryParameter56 Non51 Non43 Non
getSamplerParameter56 Non51 Non43 Non
getSyncParameter56 Non51 Non43 Non
getTransformFeedbackVarying56 Non51 Non43 Non
getUniformBlockIndex56 Non51 Non43 Non
getUniformIndices56 Non51 Non43 Non
getIndexedParameter56 Non51 Non43 Non
invalidateFramebuffer56 Non51 Non43 Non
invalidateSubFramebuffer56 Non51 Non43 Non
isQuery56 Non51 Non43 Non
isSampler56 Non51 Non43 Non
isSync56 Non51 Non43 Non
isTransformFeedback56 Non51 Non43 Non
isVertexArray56 Non51 Non43 Non
pauseTransformFeedback56 Non51 Non43 Non
readBuffer56 Non51 Non43 Non
renderbufferStorageMultisample56 Non51 Non43 Non
resumeTransformFeedback56 Non51 Non43 Non
samplerParameteri56 Non51 Non43 Non
samplerParameterf56 Non51 Non43 Non
texImage3D56 Non51 Non43 Non
texStorage2D56 Non51 Non43 Non
texStorage3D56 Non51 Non43 Non
texSubImage3D56 Non51 Non43 Non
transformFeedbackVaryings56 Non51 Non43 Non
uniform1uiv56 Non51 Non43 Non
uniform1ui56 Non51 Non43 Non
uniform1i56 Non51 Non43 Non
uniform1f56 Non51 Non43 Non
uniform2uiv56 Non51 Non43 Non
uniform2ui56 Non51 Non43 Non
uniform2i56 Non51 Non43 Non
uniform2f56 Non51 Non43 Non
uniform3uiv56 Non51 Non43 Non
uniform3ui56 Non51 Non43 Non
uniform3i56 Non51 Non43 Non
uniform3f56 Non51 Non43 Non
uniform4uiv56 Non51 Non43 Non
uniform4ui56 Non51 Non43 Non
uniform4i56 Non51 Non43 Non
uniform4f56 Non51 Non43 Non
uniformBlockBinding56 Non51 Non43 Non
uniformMatrix2fv56 Non51 Non43 Non
uniformMatrix2x3fv56 Non51 Non43 Non
uniformMatrix2x4fv56 Non51 Non43 Non
uniformMatrix3fv56 Non51 Non43 Non
uniformMatrix3x2fv56 Non51 Non43 Non
uniformMatrix3x4fv56 Non51 Non43 Non
uniformMatrix4fv56 Non51 Non43 Non
uniformMatrix4x2fv56 Non51 Non43 Non
uniformMatrix4x3fv56 Non51 Non43 Non
vertexAttribDivisor56 Non51 Non43 Non
vertexAttribI4i56 Non51 Non43 Non
vertexAttribI4iv56 Non51 Non43 Non
vertexAttribI4ui56 Non51 Non43 Non
vertexAttribI4uiv56 Non51 Non43 Non
vertexAttribIPointer56 Non51 Non43 Non
waitSync56 Non51 Non43 Non
FonctionnalitéAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Support simple5858 Non5143 Non7.0
beginQuery5858 Non5143 Non7.0
beginTransformFeedback5858 Non5143 Non7.0
bindBufferBase5858 Non5143 Non7.0
bindBufferRange5858 Non5143 Non7.0
bindSampler5858 Non5143 Non7.0
bindTransformFeedback5858 Non5143 Non7.0
bindVertexArray5858 Non5143 Non7.0
blitFramebuffer5858 Non5143 Non7.0
bufferSubData Oui Oui Non51 Oui Non Oui
clearBufferfi5858 Non5143 Non7.0
clearBufferfv5858 Non5143 Non7.0
clearBufferiv5858 Non5143 Non7.0
clearBufferuiv5858 Non5143 Non7.0
clientWaitSync5858 Non5143 Non7.0
compressedTexImage3D5858 Non5143 Non7.0
compressedTexSubImage3D5858 Non5143 Non7.0
copyBufferSubData5858 Non5143 Non7.0
copyTexSubImage3D5858 Non5143 Non7.0
createQuery5858 Non5143 Non7.0
createSampler5858 Non5143 Non7.0
createTransformFeedback5858 Non5143 Non7.0
createVertexArray5858 Non5143 Non7.0
deleteQuery5858 Non5143 Non7.0
deleteSampler5858 Non5143 Non7.0
deleteSync5858 Non5143 Non7.0
deleteTransformFeedback5858 Non5143 Non7.0
deleteVertexArray5858 Non5143 Non7.0
drawArraysInstanced5858 Non5143 Non7.0
drawBuffers5858 Non5143 Non7.0
drawElementsInstanced5858 Non5143 Non7.0
drawRangeElements5858 Non5143 Non7.0
endQuery5858 Non5143 Non7.0
endTransformFeedback5858 Non5143 Non7.0
fenceSync5858 Non5143 Non7.0
framebufferTextureLayer5858 Non5143 Non7.0
getActiveUniformBlockName5858 Non5143 Non7.0
getActiveUniformBlockParameter5858 Non5143 Non7.0
getActiveUniforms5858 Non5143 Non7.0
getBufferSubData5858 Non51 Oui Non7.0
getFragDataLocation5858 Non5143 Non7.0
getInternalformatParameter5858 Non5143 Non7.0
getQuery5858 Non5143 Non7.0
getQueryParameter5858 Non5143 Non7.0
getSamplerParameter5858 Non5143 Non7.0
getSyncParameter5858 Non5143 Non7.0
getTransformFeedbackVarying5858 Non5143 Non7.0
getUniformBlockIndex5858 Non5143 Non7.0
getUniformIndices5858 Non5143 Non7.0
getIndexedParameter5858 Non5143 Non7.0
invalidateFramebuffer5858 Non5143 Non7.0
invalidateSubFramebuffer5858 Non5143 Non7.0
isQuery5858 Non5143 Non7.0
isSampler5858 Non5143 Non7.0
isSync5858 Non5143 Non7.0
isTransformFeedback5858 Non5143 Non7.0
isVertexArray5858 Non5143 Non7.0
pauseTransformFeedback5858 Non5143 Non7.0
readBuffer5858 Non5143 Non7.0
renderbufferStorageMultisample5858 Non5143 Non7.0
resumeTransformFeedback5858 Non5143 Non7.0
samplerParameteri5858 Non5143 Non7.0
samplerParameterf5858 Non5143 Non7.0
texImage3D5858 Non5143 Non7.0
texStorage2D5858 Non5143 Non7.0
texStorage3D5858 Non5143 Non7.0
texSubImage3D5858 Non5143 Non7.0
transformFeedbackVaryings5858 Non5143 Non7.0
uniform1uiv5858 Non5143 Non7.0
uniform1ui5858 Non5143 Non7.0
uniform1i5858 Non5143 Non7.0
uniform1f5858 Non5143 Non7.0
uniform2uiv5858 Non5143 Non7.0
uniform2ui5858 Non5143 Non7.0
uniform2i5858 Non5143 Non7.0
uniform2f5858 Non5143 Non7.0
uniform3uiv5858 Non5143 Non7.0
uniform3ui5858 Non5143 Non7.0
uniform3i5858 Non5143 Non7.0
uniform3f5858 Non5143 Non7.0
uniform4uiv5858 Non5143 Non7.0
uniform4ui5858 Non5143 Non7.0
uniform4i5858 Non5143 Non7.0
uniform4f5858 Non5143 Non7.0
uniformBlockBinding5858 Non5143 Non7.0
uniformMatrix2fv5858 Non5143 Non7.0
uniformMatrix2x3fv5858 Non5143 Non7.0
uniformMatrix2x4fv5858 Non5143 Non7.0
uniformMatrix3fv5858 Non5143 Non7.0
uniformMatrix3x2fv5858 Non5143 Non7.0
uniformMatrix3x4fv5858 Non5143 Non7.0
uniformMatrix4fv5858 Non5143 Non7.0
uniformMatrix4x2fv5858 Non5143 Non7.0
uniformMatrix4x3fv5858 Non5143 Non7.0
vertexAttribDivisor5858 Non5143 Non7.0
vertexAttribI4i5858 Non5143 Non7.0
vertexAttribI4iv5858 Non5143 Non7.0
vertexAttribI4ui5858 Non5143 Non7.0
vertexAttribI4uiv5858 Non5143 Non7.0
vertexAttribIPointer5858 Non5143 Non7.0
waitSync5858 Non5143 Non7.0

Voir aussi

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : NemoNobobyPersonne
 Dernière mise à jour par : NemoNobobyPersonne,