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

Update compatibility data on GitHub
OrdinateurMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidEdge MobileFirefox pour AndroidOpera pour AndroidSafari pour iOSSamsung Internet
Support simpleChrome Support complet 9Edge Support complet 12Firefox Support complet 4IE Support complet 11Opera Support complet 12Safari Support complet 5.1WebView Android Support complet OuiChrome Android Support complet 25Edge Mobile Support complet OuiFirefox Android Support complet OuiOpera Android Support complet 12Safari iOS Support complet 8.1Samsung Internet Android Support complet Oui
WebGL2Chrome Support complet 56Edge Aucun support NonFirefox Support complet 51IE Aucun support NonOpera Support complet 43Safari Aucun support NonWebView Android Support complet 58Chrome Android Support complet 58Edge Mobile Aucun support NonFirefox Android Support complet 51Opera Android Support complet 43Safari iOS Aucun support NonSamsung Internet Android Support complet 7.0

Légende

Support complet  
Support complet
Aucun support  
Aucun support

Voir aussi

Étiquettes et contributeurs liés au document

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