WebGLRenderingContext.texImage2D()

La méthode WebGLRenderingContext.texImage2D() de l'API WebGL spécifie une image de texture bidimensionnelle.

Syntaxe

// WebGL1:
void gl.texImage2D(cible, niveau, formatinterne, largeur, hauteur, bordure, format, type, ArrayBufferView? pixels);
void gl.texImage2D(cible, niveau, formatinterne, format, type, ImageData? pixels);
void gl.texImage2D(cible, niveau, formatinterne, format, type, HTMLImageElement? pixels);
void gl.texImage2D(cible, niveau, formatinterne, format, type, HTMLCanvasElement? pixels);
void gl.texImage2D(cible, niveau, formatinterne, format, type, HTMLVideoElement? pixels);
void gl.texImage2D(cible, niveau, formatinterne, format, type, ImageBitmap? pixels);

// WebGL2:
void gl.texImage2D(cible, niveau, formatinterne, largeur, hauteur, bordure, format, type, GLintptr decalage);
void gl.texImage2D(cible, niveau, formatinterne, largeur, hauteur, bordure, format, type, HTMLCanvasElement source);
void gl.texImage2D(cible, niveau, formatinterne, largeur, hauteur, bordure, format, type, HTMLImageElement source); 
void gl.texImage2D(cible, niveau, formatinterne, largeur, hauteur, bordure, format, type, HTMLVideoElement source); 
void gl.texImage2D(cible, niveau, formatinterne, largeur, hauteur, bordure, format, type, ImageBitmap source);
void gl.texImage2D(cible, niveau, formatinterne, largeur, hauteur, bordure, format, type, ImageData source);
void gl.texImage2D(cible, niveau, formatinterne, largeur, hauteur, bordure, format, type, ArrayBufferView donneesSrc, decalageSrc);

Paramètres

cible
Un GLenum indiquant le point de liaison (cible) de la texture active. Valeurs possibles :
  • gl.TEXTURE_2D : une texture bidimensionnelle ;
  • gl.TEXTURE_CUBE_MAP_POSITIVE_X : face X positive pour une texture mappée sur un cube ;
  • gl.TEXTURE_CUBE_MAP_NEGATIVE_X : face X négative pour une texture mappée sur un cube ;
  • gl.TEXTURE_CUBE_MAP_POSITIVE_Y : face Y positive pour une texture mappée sur un cube ;
  • gl.TEXTURE_CUBE_MAP_NEGATIVE_Y : face Y négative pour une texture mappée sur un cube ;
  • gl.TEXTURE_CUBE_MAP_POSITIVE_Z : face Z positive pour une texture mappée sur un cube ;
  • gl.TEXTURE_CUBE_MAP_NEGATIVE_Z : face Z négative pour une texture mappée sur un cube.
niveau
Un GLint indiquant le niveau de détail. Le niveau 0 est le niveau de l'image de base et le niveau n est le n-ième niveau de réduction du mipmap.
formatinterne
Un GLint indiquant les composantes de couleur dans la texture. Valeurs possibles :
  • gl.ALPHA : ignore les composantes rouge, vert et bleu, et lit la composante alpha ;
  • gl.RGB : ignore la composante alpha et lit les composantes rouge, vert et bleu ;
  • gl.RGBA : les composantes rouge, vert, bleu et alpha sont lues à partir du tampon des couleurs ;
  • gl.LUMINANCE : chaque composante de couleur est une composante de luminance, alpha vaut 1,0 ;
  • gl.LUMINANCE_ALPHA : chaque composante est une composante de luminance/alpha ;
  • lors de l'utilisation de l'extension WEBGL_depth_texture :
    • gl.DEPTH_COMPONENT
    • gl.DEPTH_STENCIL
  • lors de l'utilisation de l'extension EXT_sRGB :
    • ext.SRGB_EXT
    • ext.SRGB_ALPHA_EXT
  • Lors de l'utilisation d'un WebGL 2 context, les valeurs suivantes sont en outre disponibles :
    • gl.R8
    • gl.R16F
    • gl.R32F
    • gl.R8UI
    • gl.RG8
    • gl.RG16F
    • gl.RG32F
    • gl.RG8UI
    • gl.RG16UI
    • gl.RG32UI
    • gl.RGB8
    • gl.SRGB8
    • gl.RGB565
    • gl.R11F_G11F_B10F
    • gl.RGB9_E5
    • gl.RGB16F
    • gl.RGB32F
    • gl.RGB8UI
    • gl.RGBA8
    • gl.SRGB8_APLHA8
    • gl.RGB5_A1
    • gl.RGB10_A2
    • gl.RGBA4
    • gl.RGBA16F
    • gl.RGBA32F
    • gl.RGBA8UI
largeur
Un GLsizei indiquant la largeur de la texture.
hauteur
Un GLsizei indiquant la hauteur de la texture.
bordure
Un GLint indiquant la largeur de la bordure. Doit être 0.
format
Un GLenum indiquant le format des données de texel. En WebGL 1, cela doit être identique à formatinterne (voir ci-dessus). En WebGL 2, les combinaisons sont répertoriées dans ce tableau.
type
Un GLenum indiquant le type de données des données de texel. Valeurs possibles :
  • gl.UNSIGNED_BYTE : 8 bits par canal pour gl.RGBA ;
  • gl.UNSIGNED_SHORT_5_6_5 : 5 bits de rouge, 6 bits de vert, 5 bits de bleu ;
  • gl.UNSIGNED_SHORT_4_4_4_4 : 4 bits de rouge, 4 bits de vert, 4 bits de bleu, 4 bits d'alpha ;
  • gl.UNSIGNED_SHORT_5_5_5_1 : 5 bits de rouge, 5 bits de vert, 5 bits de bleu, 1 bit d'alpha ;
  • lors de l'utilisation de l'extension WEBGL_depth_texture :
    • gl.UNSIGNED_SHORT
    • gl.UNSIGNED_INT
    • ext.UNSIGNED_INT_24_8_WEBGL (constante fournie par l'extension)
  • lors de l'utilisation de l'extension OES_texture_float :
    • gl.FLOAT
  • lors de l'utilisation de l'extension OES_texture_half_float :
    • ext.HALF_FLOAT_OES (constante fournie par l'extension)
  • lors de l'utilisation d'un WebGL 2 context, les valeurs suivantes sont en outre disponibles :
    • gl.BYTE
    • gl.UNSIGNED_SHORT
    • gl.SHORT
    • gl.UNSIGNED_INT
    • gl.INT
    • gl.HALF_FLOAT
    • gl.FLOAT
    • gl.UNSIGNED_INT_2_10_10_10_REV
    • gl.UNSIGNED_INT_10F_11F_11F_REV
    • gl.UNSIGNED_INT_5_9_9_9_REV
    • gl.UNSIGNED_INT_24_8
    • gl.FLOAT_32_UNSIGNED_INT_24_8_REV (les pixels doivent être null)
pixels
L'un des objets suivants peut être utilisé comme source de pixels pour la texture :
decalage
(WebGL 2 seulement) Un décalage en octets GLintptr dans le magasin de données du WebGLBuffer. Utilisé pour télécharger des données vers la WebGLTexture liée, depuis le WebGLBuffer lié à la cible PIXEL_UNPACK_BUFFER.

Valeur retournée

Aucune.

Exemples

gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);

Spécifications

Spécification Statut Commentaire
WebGL 1.0
La définition de 'texImage2D' dans cette spécification.
Recommendation

Définition initiale pour WebGL.

OpenGL ES 2.0
La définition de 'glTexImage2D' dans cette spécification.
Standard

Page man de l’API OpenGL ES 2.0 (similaire).

WebGL 2.0
La définition de 'texImage2D' dans cette spécification.
Brouillon de l'éditeur Définition mise à jour pour WebGL.
OpenGL ES 3.0
La définition de 'glTexImage2D' dans cette spécification.
Standard Page man de l’API OpenGL ES 3.0 (similaire).

Compatibilité des navigateurs

FonctionnalitéChromeEdgeFirefoxInternet ExplorerOperaSafari
Support simple912411125.1
WebGL256 Non51 Non43 Non
FonctionnalitéAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
Support simple Oui25 Oui Oui11128.1
WebGL25858 Non51 Non43 Non

Voir aussi

Étiquettes et contributeurs liés au document

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