WebGLRenderingContext.texImage2D()
La méthode WebGLRenderingContext.texImage2D() de l'API WebGL spécifie une image de texture bidimensionnelle.
Syntaxe
js
// 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);
// 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(en-US) 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(en-US) 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(en-US) 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(en-US) :gl.DEPTH_COMPONENTgl.DEPTH_STENCIL
- lors de l'utilisation de l'extension
EXT_sRGB(en-US) :ext.SRGB_EXText.SRGB_ALPHA_EXT
- Lors de l'utilisation d'un WebGL 2 context, les valeurs suivantes sont en outre disponibles :
gl.R8gl.R16Fgl.R32Fgl.R8UIgl.RG8gl.RG16Fgl.RG32Fgl.RG8UIgl.RG16UIgl.RG32UIgl.RGB8gl.SRGB8gl.RGB565gl.R11F_G11F_B10Fgl.RGB9_E5gl.RGB16Fgl.RGB32Fgl.RGB8UIgl.RGBA8gl.SRGB8_APLHA8gl.RGB5_A1gl.RGB10_A2gl.RGBA4gl.RGBA16Fgl.RGBA32Fgl.RGBA8UI
largeur-
Un
GLsizei(en-US) indiquant la largeur de la texture. hauteur-
Un
GLsizei(en-US) indiquant la hauteur de la texture. bordure-
Un
GLint(en-US) indiquant la largeur de la bordure. Doit être 0. format-
Un
GLenum(en-US) 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(en-US) indiquant le type de données des données de texel. Valeurs possibles :gl.UNSIGNED_BYTE: 8 bits par canal pourgl.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(en-US) :gl.UNSIGNED_SHORTgl.UNSIGNED_INText.UNSIGNED_INT_24_8_WEBGL(constante fournie par l'extension)
- lors de l'utilisation de l'extension
OES_texture_float(en-US) :gl.FLOAT
- lors de l'utilisation de l'extension
OES_texture_half_float(en-US) :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.BYTEgl.UNSIGNED_SHORTgl.SHORTgl.UNSIGNED_INTgl.INTgl.HALF_FLOATgl.FLOATgl.UNSIGNED_INT_2_10_10_10_REVgl.UNSIGNED_INT_10F_11F_11F_REVgl.UNSIGNED_INT_5_9_9_9_REVgl.UNSIGNED_INT_24_8gl.FLOAT_32_UNSIGNED_INT_24_8_REV(les pixels doivent êtrenull)
pixels-
L'un des objets suivants peut être utilisé comme source de pixels pour la texture :
ArrayBufferView(en-US),- un
Uint8Arraydoit être utilisé sitypeestgl.UNSIGNED_BYTE; - un
Uint16Arraydoit être utilisé sitypeestgl.UNSIGNED_SHORT_5_6_5,gl.UNSIGNED_SHORT_4_4_4_4,gl.UNSIGNED_SHORT_5_5_5_1,gl.UNSIGNED_SHORTouext.HALF_FLOAT_OES; - un
Uint32Arraydoit être utilisé sitypeestgl.UNSIGNED_INTouext.UNSIGNED_INT_24_8_WEBGL; - un
Float32Arraydoit être utilisé sitypeestgl.FLOAT;
- un
ImageData,HTMLImageElement,HTMLCanvasElement,HTMLVideoElement,ImageBitmap(en-US).
decalage-
(WebGL 2 seulement) Un décalage en octets
GLintptr(en-US) dans le magasin de données duWebGLBuffer. Utilisé pour télécharger des données vers laWebGLTextureliée, depuis leWebGLBufferlié à la ciblePIXEL_UNPACK_BUFFER.
Valeur retournée
Aucune.
Exemples
js
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);
Spécifications
| Specification |
|---|
| WebGL Specification # 5.14.8 |
| WebGL 2.0 Specification # 3.7.6 |
Compatibilité des navigateurs
BCD tables only load in the browser
Voir aussi
WebGLRenderingContext.createTexture()WebGLRenderingContext.bindTexture()WebGLRenderingContext.texSubImage2D()(en-US)WebGLRenderingContext.compressedTexImage2D()(en-US)WebGLRenderingContext.copyTexImage2D()(en-US)WebGLRenderingContext.getTexParameter()WEBGL_depth_texture(en-US)OES_texture_float(en-US)OES_texture_half_float(en-US)EXT_sRGB(en-US)